//判断浏览器类型
//判断是否是IE浏览器
function isIE(){
var userAgent= navigator.userAgent;
var isOpera = userAgent.indexOf("Opera") > -1;
var isIE=true;
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
}else{
//判断是否是IE11浏览器
if (userAgent.indexOf("rv:11.0") > -1 && !isOpera) {
}else{
isIE=false;
}
}
return isIE
}
//其它判断详情如下网址 http://www.jb51.net/article/50464.htm
因为ie10-ie11的版本问题,不再支持document.all判断,所以ie判断函数要重新写了
function isIE() { //ie?
if (!!window.ActiveXObject || "ActiveXObject" in window)
return true;
else
return false;
}
第一种,只区分浏览器,不考虑版本
复制代码 代码如下:
function myBrowser(){
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") > -1;
if (isOpera) {
return "Opera"
}; //判断是否Opera浏览器
if (userAgent.indexOf("Firefox") > -1) {
return "FF";
} //判断是否Firefox浏览器
if (userAgent.indexOf("Chrome") > -1){
return "Chrome";
}
if (userAgent.indexOf("Safari") > -1) {
return "Safari";
} //判断是否Safari浏览器
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
return "IE";
}; //判断是否IE浏览器
}
//以下是调用上面的函数
var mb = myBrowser();
if ("IE" == mb) {
alert("我是 IE");
}
if ("FF" == mb) {
alert("我是 Firefox");
}
if ("Chrome" == mb) {
alert("我是 Chrome");
}
if ("Opera" == mb) {
alert("我是 Opera");
}
if ("Safari" == mb) {
alert("我是 Safari");
}
第二种,区分浏览器,并考虑IE5.5 6 7 8
复制代码 代码如下:
function myBrowser(){
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器
if (isIE) {
var IE5 = IE55 = IE6 = IE7 = IE8 = false;
var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
reIE.test(userAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
IE55 = fIEVersion == 5.5;
IE6 = fIEVersion == 6.0;
IE7 = fIEVersion == 7.0;
IE8 = fIEVersion == 8.0;
if (IE55) {
return "IE55";
}
if (IE6) {
return "IE6";
}
if (IE7) {
return "IE7";
}
if (IE8) {
return "IE8";
}
}//isIE end
if (isFF) {
return "FF";
}
if (isOpera) {
return "Opera";
}
}//myBrowser() end
//以下是调用上面的函数
if (myBrowser() == "FF") {
alert("我是 Firefox");
}
if (myBrowser() == "Opera") {
alert("我是 Opera");
}
if (myBrowser() == "Safari") {
alert("我是 Safari");
}
if (myBrowser() == "IE55") {
alert("我是 IE5.5");
}
if (myBrowser() == "IE6") {
alert("我是 IE6");
}
if (myBrowser() == "IE7") {
alert("我是 IE7");
}
if (myBrowser() == "IE8") {
alert("我是 IE8");
}
下面给出一个判断当前浏览器是IE的JS代码.
原理是利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。
<script>
var ie = !-[1,];
alert(ie);
</script>
//谷歌和IE不兼容的问题
IE不支持JQ的remove() 需要替换为 removeNode(true)
IE不支持event.target 需要替换为 event.srcElement
拖动时图片时谷歌不会打开新的页面IE会打开新的页面:是因为IE浏览器会默认打开 火狐也有相应的情况
解决方案:
在onmousemove 方法中 e.preventDefault();事件取消默认打开
备用解决方案一:
IE通过ev.cancelBubble=true;ev.returnValue = false;来防止图片的事件,注意是放在document.onmousemove中。要用原生的JS,不能用JQUERY!
FireFox通过ev.preventDefault();ev.stopPropagation(); 但是是放在titleBar的mousedown事件中。
备用解决方案二:
对于图片元素 在拖动代码开始之前加:
imgElement.οndragstart=function () { //很多浏览器中默认允许拖动图片到新标签页打开,要先禁止,否则影响效果。如果你要拖动的不是图片,可以去掉
return false;
}
imgElement变量是图片元素,你自己写一下选择器。
event.pageX/event.pageY属性 注意IE中元素可以使用 e.pageX/e.pageY
该方法的作用是获取到光标相对页面的x坐标和y坐标。
如果没有使用jQuery时,那么IE浏览器中是用event/event.y方法,而在Firefox浏览器中用event.pageX/event.pageY方法。
如果页上有滚动条,则还要加上滚动条的宽度和高度。在IE浏览器中还应该减去默认的2px的边框。
toggle方法 1.9以上的JQ版本不支持了
setAttribute("class", "dot") IE不认识class 要改成className
//判断是否是IE浏览器
function isIE(){
var userAgent= navigator.userAgent;
var isOpera = userAgent.indexOf("Opera") > -1;
var isIE=true;
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
}else{
//判断是否是IE11浏览器
if (userAgent.indexOf("rv:11.0") > -1 && !isOpera) {
}else{
isIE=false;
}
}
return isIE
}
//其它判断详情如下网址 http://www.jb51.net/article/50464.htm
因为ie10-ie11的版本问题,不再支持document.all判断,所以ie判断函数要重新写了
function isIE() { //ie?
if (!!window.ActiveXObject || "ActiveXObject" in window)
return true;
else
return false;
}
第一种,只区分浏览器,不考虑版本
复制代码 代码如下:
function myBrowser(){
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") > -1;
if (isOpera) {
return "Opera"
}; //判断是否Opera浏览器
if (userAgent.indexOf("Firefox") > -1) {
return "FF";
} //判断是否Firefox浏览器
if (userAgent.indexOf("Chrome") > -1){
return "Chrome";
}
if (userAgent.indexOf("Safari") > -1) {
return "Safari";
} //判断是否Safari浏览器
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
return "IE";
}; //判断是否IE浏览器
}
//以下是调用上面的函数
var mb = myBrowser();
if ("IE" == mb) {
alert("我是 IE");
}
if ("FF" == mb) {
alert("我是 Firefox");
}
if ("Chrome" == mb) {
alert("我是 Chrome");
}
if ("Opera" == mb) {
alert("我是 Opera");
}
if ("Safari" == mb) {
alert("我是 Safari");
}
第二种,区分浏览器,并考虑IE5.5 6 7 8
复制代码 代码如下:
function myBrowser(){
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器
if (isIE) {
var IE5 = IE55 = IE6 = IE7 = IE8 = false;
var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
reIE.test(userAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
IE55 = fIEVersion == 5.5;
IE6 = fIEVersion == 6.0;
IE7 = fIEVersion == 7.0;
IE8 = fIEVersion == 8.0;
if (IE55) {
return "IE55";
}
if (IE6) {
return "IE6";
}
if (IE7) {
return "IE7";
}
if (IE8) {
return "IE8";
}
}//isIE end
if (isFF) {
return "FF";
}
if (isOpera) {
return "Opera";
}
}//myBrowser() end
//以下是调用上面的函数
if (myBrowser() == "FF") {
alert("我是 Firefox");
}
if (myBrowser() == "Opera") {
alert("我是 Opera");
}
if (myBrowser() == "Safari") {
alert("我是 Safari");
}
if (myBrowser() == "IE55") {
alert("我是 IE5.5");
}
if (myBrowser() == "IE6") {
alert("我是 IE6");
}
if (myBrowser() == "IE7") {
alert("我是 IE7");
}
if (myBrowser() == "IE8") {
alert("我是 IE8");
}
下面给出一个判断当前浏览器是IE的JS代码.
原理是利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。
<script>
var ie = !-[1,];
alert(ie);
</script>
//谷歌和IE不兼容的问题
IE不支持JQ的remove() 需要替换为 removeNode(true)
IE不支持event.target 需要替换为 event.srcElement
拖动时图片时谷歌不会打开新的页面IE会打开新的页面:是因为IE浏览器会默认打开 火狐也有相应的情况
解决方案:
在onmousemove 方法中 e.preventDefault();事件取消默认打开
备用解决方案一:
IE通过ev.cancelBubble=true;ev.returnValue = false;来防止图片的事件,注意是放在document.onmousemove中。要用原生的JS,不能用JQUERY!
FireFox通过ev.preventDefault();ev.stopPropagation(); 但是是放在titleBar的mousedown事件中。
备用解决方案二:
对于图片元素 在拖动代码开始之前加:
imgElement.οndragstart=function () { //很多浏览器中默认允许拖动图片到新标签页打开,要先禁止,否则影响效果。如果你要拖动的不是图片,可以去掉
return false;
}
imgElement变量是图片元素,你自己写一下选择器。
event.pageX/event.pageY属性 注意IE中元素可以使用 e.pageX/e.pageY
该方法的作用是获取到光标相对页面的x坐标和y坐标。
如果没有使用jQuery时,那么IE浏览器中是用event/event.y方法,而在Firefox浏览器中用event.pageX/event.pageY方法。
如果页上有滚动条,则还要加上滚动条的宽度和高度。在IE浏览器中还应该减去默认的2px的边框。
toggle方法 1.9以上的JQ版本不支持了
setAttribute("class", "dot") IE不认识class 要改成className