我們常常會遇到js ie瀏覽器不相容打不開網頁,這也是很頭痛的一件事,以下是我整理的最常見的瀏覽器不相容問題的源頭,希望對大家有幫助。
1、table問題
在動態新增tr或td時,createElement()一般用appendChild();都不生效,解決方法是用新增tbody,如
var table=document.createElement("table");
var tvody=document.createElement("tbody");
var tr=document.createElement("tr") ;
var td=document.createElement("td");
table.appendChild(tbody.appendChile(tr.appendChild(td)));
2、 innerHTML的問題
在IE中不支援動態的寫table的innerHTML,但是支援p或span的innerHTML動態讀寫。
3.設定樣式問題
內斂樣式:如果obj.setAttribute("stylename");stylename對應的樣式不會生效。解決方法:obj.style.cssText="stylename";
外部樣式:obj.setAttribute("class":"className");className對應的外部樣式照樣不會生效。解決方法:obj.setAttribute("className","className");
4、設定屬於元素的事件
對於一個文字obj,IE不支援obj.setAttribute("onclick" ,"functon()"),設定它的onclick屬性做法。解決方法:obj.onclick=function(){}。注意的是:這裡需要放一個匿名的函數
5、動態建立單選按鈕
用create和setAttribute()是解決不了問題的。解決方法:直接document.createElement("");來的更痛快一些
6、最後就是用document判斷瀏覽器是否為IE的一個方法,document.uniqueID,因為只有IE唯一能識別uniqueID
IE的兼容性,更改解析模式
#百度原始碼如下
##;//或
4.強制IE8使用IE6或IE5模式來解析
5.如果一個特定版本的IE支援所要求的兼容性模式多於一種,如:
使IE5 ,IE6,IE7相容到IE8模式
使IE5,IE6,IE7,IE8相容於IE9模式
#
解決PNG顯示問題
只需將透明png圖片命名為*-trans.png
注意:此方法對背景平鋪(background-repeat)和背景(background-position)無法起到任何作用,預設會佔滿整個容器。
創建html5時發現這麼一句話,不知其什麼意思,百度如下:
這樣寫可以達到的效果是如果安裝了GCF,則使用GCF來渲染頁面,如果沒安裝GCF,則使用最高版本的IE核心進行渲染。 Google Chrome Frame(Google內嵌瀏覽器框架GCF)。這個插件可以讓使用者的IE瀏覽器外不變,但使用者在瀏覽網頁時,實際上使用的是Google Chrome瀏覽器內核,而且支援IE6、7、8等多個版本的IE瀏覽器。
相關推薦:
以上是ie不相容於打不開網頁怎麼辦? js瀏覽器不相容問題解決技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!