chrome frame节点 取_Chrome Frame插件解决IE浏览器兼容问题
時不時碰到客戶的瀏覽器為IE7,IE8,甚至IE6的,他們不能升級瀏覽器,因為升級后,機器中其它的重要系統無法訪問。而新系統的前端又需要瀏覽器的支持,比如H5,SVG等等,換框架結構,成本無疑是巨大的,而且風險不可控。針對此種情況,安裝Google Frame是相對非常完美的解決方案,不要求升級瀏覽器,只安裝一個插件,且對原系統無任何干擾,新系統也可根據情況對是否使用Google Frame插件進行切換。
X-UA-Compatible是自從IE8新加的一個設置,對于IE8以下的瀏覽器是不識別的。 通過在meta中設置X-UA-Compatible的值,可以指定網頁的兼容性模式設置。
在網頁中指定的模式優先權高于服務器中(通過HTTP Header)所指定的模式。 兼容性模式設置優先級:
meta?tag?>?http?header
meta tag?>?http header
常用的例子:
則是不使用Chrome引擎
個人覺得本文很有意義,對于ie一直存在的兼容問題給予一個解決辦法,可以考慮在工作中使用。
以下是正文,為方便oser閱讀,原文抄錄如下,有關具體情況請參考原作者。
Google Chrome Frame,谷歌瀏覽器內嵌框架(簡稱GCF),是一個使你機器上的Internet Explorer系列瀏覽器鳥槍換炮,用上webkit內核的Chrome引擎,但IE瀏覽器外觀上還是IE的外觀的免費插件。
不相信嗎?使用用IE瀏覽器打開GCF安裝頁,按照提示安裝后,重啟IE,再打開gcf:about:version,現在你會看到chrome瀏覽器的內核信息,說明Chrome內核已經植根于你的IE瀏覽器上了。
但并非你的IE訪問任意網頁就會自動的使用Chrome內核來解析,需要兩種方式:一是在網址前面加上”gcf:“,比如gcf:http://gmail.com來訪問;二是在網頁的meta信息中加入一句:
這里chrome=1代表所有版本的IE瀏覽器都使用Chrome內核解析網頁,chrome屬性還有其他的值,比如chrome=IE7,代表IE7或以下版本的瀏覽器才使用chrome內核,chrome=IE6和chrome=IE8等依此類推。
作為一個網頁開發者,你會不會想到有了這個插件,以后就可以大膽使用各種CSS3樣式,只要Chrome下顯示正確,IE下也能顯示正確了!沒錯!但前提是用戶會安裝這個插件嗎?如何提供一個友好的引導安裝界面呢,Google幫我們解決了這個問題。?
在body標簽中加入這段js代碼,可以使得IE打開該網頁時出現友好的GCF安裝引導iframe框。這段代碼不需要存在于
之中,js中已經做了瀏覽器的判斷。
CFInstall.min.js是官方提供的文件,CFInstall.check()方法有許多可選項,其中包括:mode: “inline”?默認值,GCF安裝引導的iframe結構將存在于node選項指定id的元素中最前面位置,屬于文檔流的一部分
mode: “overlay”?該iframe以彈出層顯示,彈出層將會在頁面可視范圍內居中
mode: “popup”?該iframe以新開窗口/選項卡顯示,類似于target:_blank的效果
node: “”?指定iframe結構的dom結點位置,在mode:”inline”下有效
url: “”?點擊安裝按鈕跳轉到的鏈接地址,默認為GCF安裝文件地址
destination: “”?GCF安裝完成后頁面跳轉到的鏈接地址
className: “”?在mode:”inline”下對iframe指定新的class名,美化iframe界面時很有用,默認的class為chromeFrameInstallDefaultStyle
OK,了解了這么多,相信你已經躍躍欲試了,我在我的博客上開啟了chrome=IE8并加上了GCF的友好安裝指引,歡迎訪問比較IE下和Chrome下的渲染差異。
更多GCF的參考資料:官方開發者文檔:http://www.chromium.org/developers/how-tos/chrome-frame-getting-started
chrome frame設置
安裝完chrome frame后,并非IE訪問任意網頁就會自動的使用Chrome內核來解析,需要兩種方式:一是在網址前面加上”gcf:“,比如gcf:http://gmail.com來訪問;二是在網頁的meta信息中加入一句:?這里chrome=1代表所有版本的IE瀏覽器都使用Chrome內核解析網頁,chrome屬性還有其他的值,比如chrome=IE7,代表IE7或以下版本的瀏覽器才使用chrome內核,
2.1.開始–運行–輸入regedit打開注冊表,依次打開HKEY_CURRENT_USER\Software\Google\下新建一個(key)項,名為ChromeFrame.
2.2.使用“gcf:“前綴時調用chrome frame瀏覽設置;需在注冊表中“HKEY_CURRENT_USER\Software\Google\ChromeFrame”中新建一個DWORD值取名為”AllowUnsafeURLs“,并將其值設為”1“。這時,只要在要瀏覽的網頁的地址前加上”gcf:“,IE就會自動使用ChromeFrame渲染該網頁,例如”gcf:http://www.google.com.hk“IE便會自動使用ChromeFrame渲染谷歌首頁”http://www.google.com.hk“
2.3.在該項下新建一個DWORD值,名叫IsDefaultRenderer.這個IsDefaultRenderer的值如果設置為0是使用IE內核渲染,設置為1是使用Google Chrome Frame渲染所打開的網頁.我們這里設置為1.
2.4 chrome訪問網址列表;注冊表中“HKEY_CURRENT_USER\Software\Google\ChromeFrame”新建一個子項(KEY)取名為”RenderInGcfUrls;其中添加的多個字符串值默認使用chrome訪問,可用通配符;例如,上圖的”*google“可以理解為所有地址中包含”google“的站點)。這樣,就形成了一個地址列表,凡是與該列表匹配的站點IE將自動使用chrome frame瀏覽,其他站點則依舊使用IE自己的內核瀏覽
2.5.E僅打開指定站點;設置方法與上面相近,同樣是在“HKEY_CURRENT_USER\Software\Google\ChromeFrame”中新建一個”DWORD值”取名為”IsDefaultRenderer“,不過這時要將其值設為”1“,同樣,回到“HKEY_CURRENT_USER\Software\Google\ChromeFrame”并在其下面新建一個子項,這時應將它命名為”RenderInHostUrls“,同樣,進入剛才建好的子項”RenderInHostUrls“,在其下建立一個或多個”字符串值“并將它們分別命名為一些網址(同樣需要注意:是條目的名稱,而非它的值,雙擊設置它的值沒用的,而應右鍵點它,然后重命名)同樣,可以為完整的網址,也可以使用通配符”*“那么,同樣也形成了一個地址列表,不過,與這個列表相匹配的站點,IE將使用自己的內核瀏覽,其他站點則自動使用chrome frame瀏覽。
總結
以上是生活随笔為你收集整理的chrome frame节点 取_Chrome Frame插件解决IE浏览器兼容问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UVZ转成PDF并添加目录
- 下一篇: 前端学习(552):api