這個需要看一下你的代碼,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文件載入成功!");
}
}