ie不相容的幾個js問題及解決辦法
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,但是支援div或者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("<input type='radio' name='myradio'>");來的更痛快一些
6、最後就是用document判斷瀏覽器是否為IE的一個方法,document.uniqueID,因為只有IE唯一能識別uniqueID
IE的相容性,更改解析模式
百度原始碼如下
<!Doctype html>
<html xmlns=http://www.w3.org/1999/xhtml xmlns:bd=http://www.baidu.com/2010/xbdml>;
<head>
<meta http-equiv=Content-Type content=“text/html;charset=utf-8″>
<meta http-equiv=X-UA-Compatible content=IE=EmulateIE7>
<title>百度一下,你就知道 </title>
<script>var wpo={start:new Date*1,pid:109,page:‘superpage’}</script>
<meta http-equiv=X-UA-Compatible content=IE=EmulateIE7>
可以開啟百度,右鍵檢視原始碼看下!我們可以看下檔案頭是否存在這樣一行程式碼!
這句話的意思是強制使用IE7模式來解析網頁程式碼!
<meta http-equiv=“X-UA-Compatible” content=“IE=8″>
2. Google Chrome Frame也可以讓IE用上Chrome的引擎:
<meta http-equiv=“X-UA-Compatible” content=“chrome=1″ />
3.強制IE8使用IE7模式來解析
<meta http-equiv=“X-UA-Compatible” content=“IE=EmulateIE7″><!– IE7 mode –>
//或者
<meta http-equiv=“X-UA-Compatible” content=“IE=7″><!– IE7 mode –>
4.強制IE8使用IE6或IE5模式來解析
<meta http-equiv=“X-UA-Compatible” content=“IE=6″><!– IE6 mode –>
<meta http-equiv=“X-UA-Compatible” content=“IE=5″><!– IE5 mode –>
5.如果一個特定版本的IE支援所要求的相容性模式多於一種,如:
<meta http-equiv=“X-UA-Compatible” content=“IE=5; IE=8″ />
設定網站伺服器以指定預設相容性模式
如果伺服器是自己的話,可以在伺服器上定義一個自訂標頭來為它們的網站預設一個特定的檔案相容性模式。這個特定的方法取決於你的網站伺服器。
錄入,下列的 web.config檔案使Microsoft Internet Information Services (IIS)能定義一個自訂標頭以自動使用IE7 mode來編譯所有網頁。
另外還有一起其他的解決方案,例如google的
ie7 – js中是一個JavaScript庫(解決IE與W3C標準的衝突的JS庫),使微軟的Internet Explorer的行為像一個Web標準相容的瀏覽器,支援更多的W3C標準,支援CSS2、CSS3選擇器。它修復了許多的HTML和CSS問題,並使 得透明PNG在IE5、IE6下正確顯示。
使IE5,IE6相容到IE7模式(推薦)
<!–[if lt IE 7]>
<script src=”http://ie7-js.googlecode.com/svn/version/2.0(beta)/IE7.js”
type=”text/javascript”></script>
<![endif]–>
使IE5,IE6,IE7相容到IE8模式
<!–[if lt IE 8]>
<script src=”http://ie7-js.googlecode.com/svn/version/2.0(beta)/IE8.js”
type=”text/javascript”></script>
<![endif]–>
使IE5,IE6,IE7,IE8相容到IE9模式
<!–[if lt IE 9]>
<script src=”http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js”></script>
<![endif]–>
解決PNG顯示問題
只需將透明png圖片命名為*-trans.png
注意:此方法對背景平鋪(background-repeat)和背景(background-position)無法起到任何作用,預設會佔滿整個容器。
<meta http-equiv=”X-UA-Compatible” content=”IE=edge,chrome=1″ />
建立html5時發現這麼一句話,不知其什麼意思,百度如下:
這 樣寫可以達到的效果是如果安裝了GCF,則使用GCF來渲染頁面,如果沒安裝GCF,則使用最高版本的IE核心進行渲染。Google Chrome Frame(谷歌內嵌瀏覽器框架GCF)。這個外掛可以讓使用者的IE瀏覽器外不變,但使用者在瀏覽網頁時,實際上使用的是Google Chrome瀏覽器核心,而且支援IE6、7、8等多個版本的IE瀏覽器。
相關文章
- 【DataBase】:使用Oracle遇到的幾個問題及解決辦法DatabaseOracle
- 安裝IE8後引發的兩個問題及解決辦法
- MySQL組複製的幾個常見問題以及解決辦法MySql
- 在linux字型下的顯示問題及幾種解決辦法Linux
- 虛擬化問題及解決辦法
- oracle壞塊問題及解決辦法Oracle
- FCKEditor在IE10下的不相容問題解決方法IE10
- JSR 303驗證相關問題及解決 辦法JS
- 相容系列-JSON.parse()轉字串為json物件,解決IE7及以下不相容問題JSON字串物件
- 幾種解決“藍芽不可用”問題的辦法藍芽
- 噁心的相容問題:完美解決IE(IE6/IE7/IE8)不相容HTML5標籤的問題HTML
- orachk 的幾個waring 解決辦法
- jQuery.getJSON的快取問題的解決辦法jQueryJSON快取
- Vmware vSphere常見問題及解決辦法
- 安裝DBD:MySql模組遇到的問題及解決辦法MySql
- 關於 SAP ABAP gateway OData 的一個詭異問題及解決辦法Gateway
- 資料併發操作帶的的問題及解決辦法
- 跨域問題解決辦法跨域
- RAC升級到10.2.0.4碰到的幾個問題及處理辦法
- HTC Vive遇到的問題解決辦法
- veritas netbackup的問題解決辦法
- 使用kerl安裝erlang遇到的問題及解決辦法-bak
- Mysql安裝過程中遇到的問題及解決辦法MySql
- RedHat9的service named stop問題及解決辦法(轉)Redhat
- Jekyll 本地除錯部落格遇到的問題及解決辦法除錯
- VS2013出現問題及解決辦法
- VNC常用操作及常見問題解決辦法彙總VNC
- svn相關問題解決辦法
- display:inline-block帶來的問題及解決辦法inlineBloC
- 關於解決問題的幾個段位
- oracle rac asm 問題的官方解決辦法OracleASM
- cocos2d-x解決中文亂碼問題的幾種辦法
- iview在ie9及以上的相容問題解決方案ViewIE9
- win7 桌面 IE 消失解決辦法Win7
- Servlet接收JSP引數亂碼問題解決辦法薦ServletJS
- Windows無法配置此無線連線這個問題的解決辦法Windows
- 【Ubuntu】unknown host問題解決辦法Ubuntu
- input 與 button 的問題 (空隙/不等高/對不齊)及 解決辦法