这个需要看一下你的代码,IE8容易有兼容性的问题
⑵ 解决IE8对象不支持js方法keys()
Object.keys方法是中的函数。IE8不支持。
如果你想使用兼容ES5的所有特性。建议你使用ES5-shim来在不支持ES5特性的浏览器中增加ES5的支持。https://github.com/es-shims/es5-shim/blob/master/es5-shim.js。你可以引入这里的js。之后你的代码里就可以在任何浏览器上放心的使用ES5中的特性了。
如果你仅仅只是为了解决此处的Object.keys。
可以不用ES5的函数,而用普通的方式解决,如下:
this.newNode=function(parentId){
varnextId=[];
for(varpinnodes){
if(nodes.hasOwnProperty(p)){
nextId.push(p);
}
}
nextId=$(nextId).size();
while(nextIdinnodes){
nextId++;
}
self.addNode({id:nextId,name:'',parent:parentId});
}
⑶ 请教大神们一个JS代码在IE8以下浏览器兼容的问题!
1. 在IE7或更早的版本上polyfill JSON.stringify。你可以使用JSON2或JSON3来polyfills。
<!doctype html>
<html xmlns:ng="http://angularjs.org">
<head>
<!--[if lte IE 7]>
<script src="/path/to/json2.js"></script>
<![endif]-->
</head>
<body>
...
</body>
</html>
2. 在连接处将id="ng-app"添加到根元素,使用ng-app属性
<!doctype html>
<html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="optionalMoleName">
...
</html>
3. 你不能使用自定义的元素标记,像<ng:view>(使用属性版本<div ng-view>来代替),或
4. 如果你必需要用自定义元素标记,然后你必须采取以下步骤以确保IE8及之前版本都能用:
<!doctype html>
<html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="optionalMoleName">
<head>
<!--[if lte IE 8]>
<script>
document.createElement('ng-include');
document.createElement('ng-pluralize');
document.createElement('ng-view');
// Optionally these for CSS
document.createElement('ng:include');
document.createElement('ng:pluralize');
document.createElement('ng:view');
</script>
<![endif]-->
</head>
<body>
...
</body>
</html>
5. 使用ng-style标记来替代style="{{ someCss }}"。后续的版本能够在Chrome和Firefox下工作但不能在IE版本<=11下工作(在撰写本文时的最新版本)。
⑷ js在IE8网页报错,请问这是什么问题
IE8以下的浏览器兼容性差,经常会出现问题,现在已经不考虑了。
⑸ js做了一个日期弹出窗口,ie8下也弹出来了,但是却没有显示日期内容,这是怎么回事
这个比较模糊。
可能是浏览器兼容的问题,例如:是否使用了非标准的JS函数或其他浏览器提供的函数。
再或者是,显示内容的时候使用的属性例如text或其他的在IE8下不支持等。
你可以再仔细检查一下。
⑹ 有没有js能判断ie8 标准模式和兼容模式
javascript:alert(document.documentMode);
documentMode 属性可返回与页面的文本兼容性模式相对应的数值。例内如,如果所选容页面支持 IE8 模式,则 documentMode 会返回 8。如果选择兼容模式了,那么肯定输出就不是8了!
⑺ JS怎么解决兼容IE8的兼容性
因为IE8的浏览器是微软的
所以很多程序都是根据微软开发的
兼容性来说还是IE8的比较稳定
⑻ 如何在ie8下调试js代码
双击IE浏览器的图标.打开IE浏览器.
找到键盘上的"F12"键.出来"开发人员工具".
选"脚本"选项卡.找到要调试的代码行.然后右击添加断点.或者直接点击也会出现断点.
4
点击启动调试,就会跑到设置的断点处."F11"可以一步一步调试,"F10"逐过程调试.,"shift+F11"跳出
⑼ 怎样在IE8里面调试javascript
以IE8浏览器为例,接下来重点介绍并演示如何使用浏览器自带的开发人员工具调试JS程序。(该工具快捷按钮为F12)
1、在工具->Internet选项->高级,去掉“禁用脚步调试(Internet Explorer)”项的勾选。
2、去掉“显示友好http错误信息”项的勾选。最后点击应用,确定按钮。
3、预览表单,当要执行的js程序出现错误时,浏览器会给出提示。
4、在给出的错误提示窗口中,选择“是(Y)”按钮,进入IE浏览器自带的开发人员工具脚本调试界面。
5、根据JS调试信息可以知道,当前JS报错是由于没有找到指定对象“dat”而导致的。我们需要在表单设计器中,修改JS程序并保存。因演示效果的需要,在本例中是没有设置id值为dat的单行输入框控件的,本例中第二个单行输入框控件的id值是data2。修改后的JS代码。
6、将其改成值data2后,再进行测试不会出现JS报错信息,程序得以正常执行。
7、本例只是演示了如何利用IE自带的开发人员工具进行简单的调试工作,如需了解其他调试及排查技巧,请参阅网络及相关书籍进行学习。
⑽ 判断是ie8则动态引入js文件怎么写
if(navigator.appName=="MicrosoftInternetExplorer"&&navigator.appVersion.split(";")[1].replace(/[]/g,"")=="MSIE8.0")
{
#Jquery代码
$.getScript("./Scritpname.js",function(){//加载js文件,成功后执行回调函数
console.log("js文件加载成功!");
});
#纯Js代码
varjsObj=document.createElement("script");
jsObj.type="text/javascript";
jsObj.src="jsFileName.js";
document.getElementsByTagName('head')[0].appendChild(jsObj);//在head节点中追加script配置
jsObj.onload=function(){#加载之后执行onload方法
console.log("js文件加载成功!");
}
}