1. 程式人生 > >解決網站部分使用者訪問browserconfig.xml檔案返回404的問題

解決網站部分使用者訪問browserconfig.xml檔案返回404的問題

問題描述

 部分使用者訪問網站時,檢測日誌出現url(http://www.xxx.cn/browserconfig.xml)這個返回404.網上一搜才知道,這是ie11的磁貼(https://msdn.microsoft.com/library/dn455106(v=vs.85).aspx)配置檔案。當用戶固定站點時,IE11 會查詢名為 browserconfig.xml 的包含獨立通知檔案(磁貼架構檔案)的 URL 的檔案,並讓 Windows 以指定的時間間隔獲取該檔案。因為我們網站沒有配置所以,部分固定了站點的使用者訪問網站時,ie11獲取不到磁貼配置檔案,所以返回了404.

解決辦法

 1、很簡單,那就是配置browserconfig.xml檔案,並放到站點根目錄下,並且通過頁面 <head> 部分中的圖元元素<meta name="msapplication-config" content="browserconfig.xml" />指向這個檔案。在這裡注意改配置檔名稱要用預設的browserconfig,不然IE仍然找不到。
 2、如何配置?https://msdn.microsoft.com/library/dn455106(v=vs.85).aspx ,官方文件介紹了三種方法配置。分別是(http://samples.msdn.microsoft.com/iedevcenter/PinnedSites/default.html):
 直接在heade裡通過定義元資料的方式(http://www.buildmypinnedsite.com/)
 第二是通過配置xml的方式(這種方式最好,尤其要做動態網站的)
 第三種是通過js來呼叫動態磁貼架構檔案

注意事項

 雖然對著官方文件配置很簡單,但是還是有一些小問題要注意的。
  1. header裡面通過meta定義的元資料名稱一定要是ie11預設的名稱。
  2. 由於ie磁貼只是針對win8,win8.1,win10使用者,所以在配置完測試的時候還是有些坑的。用windows預設IE開啟網址。

    這裡寫圖片描述

  3. 成功後的圖片

    這裡寫圖片描述

網站元資料

    <meta name="viewport"  
    content="  
        height = [pixel_value | device-height] ,  
        width = [pixel_value | device-width ] ,  
initial-scale = float_value , minimum-scale = float_value , maximum-scale = float_value , user-scalable = [yes | no] , target-densitydpi = [dpi_value | device-dpi | high-dpi | medium-dpi | low-dpi] " />

含義如下:
width

控制 viewport 的大小,可以指定的一個值或者特殊的值,如 device-width 為裝置的寬度(單位為縮放為 100% 時的 CSS 的畫素)。
height

和 width 相對應,指定視窗的高度。

target-densitydpi

一個螢幕畫素密度是由螢幕解析度決定的,通常定義為每英寸點的數量(dpi)。Android支援三種螢幕畫素密度:低畫素密度,中畫素密度,高畫素密度。一個低畫素密度的螢幕每英寸上的畫素點更少,而一個高畫素密度的螢幕每英寸上的畫素點更多。Android Browser和WebView預設螢幕為中畫素密度。

下面是 target-densitydpi 屬性的 取值範圍

device-dpi –使用裝置原本的 dpi 作為目標 dp。 不會發生預設縮放。
high-dpi – 使用hdpi 作為目標 dpi。 中等畫素密度和低畫素密度裝置相應縮小。
medium-dpi – 使用mdpi作為目標 dpi。 高畫素密度裝置相應放大, 畫素密度裝置相應縮小。 這是預設的target density.
low-dpi -使用mdpi作為目標 dpi。中等畫素密度和高畫素密度裝置相應放大。
<value> – 指定一個具體的dpi 值作為target dpi. 這個值的範圍必須在70–400之間。

為了防止Android Browser和WebView 根據不同螢幕的畫素密度對你的頁面進行縮放,你可以將viewport的target-densitydpi 設定為 device-dpi。當你這麼做了,頁面將不會縮放。相反,頁面會根據當前螢幕的畫素密度進行展示。在這種情形下,你還需要將viewport的width定義為與裝置的width匹配,這樣你的頁面就可以和螢幕相適應。

initial-scale

初始縮放。即頁面初始縮放程度。這是一個浮點值,是頁面大小的一個乘數。例如,如果你設定初始縮放為“1.0”,那麼,web頁面在展現的時候就會以target density解析度的1:1來展現。如果你設定為“2.0”,那麼這個頁面就會放大為2倍。

maximum-scale

最大縮放。即允許的最大縮放程度。這也是一個浮點值,用以指出頁面大小與螢幕大小相比的最大乘數。例如,如果你將這個值設定為“2.0”,那麼這個頁面與target size相比,最多能放大2倍。

user-scalable

使用者調整縮放。即使用者是否能改變頁面縮放程度。如果設定為yes則是允許使用者對其進行改變,反之為no。預設值是yes。如果你將其設定為no,那麼minimum-scale 和 maximum-scale都將被忽略,因為根本不可能縮放。

所有的縮放值都必須在0.01–10的範圍之內。

例:

(設定螢幕寬度為裝置寬度,禁止使用者手動調整縮放)

 <meta name="viewport" content="width=device-width,user-scalable=no" />

(設定螢幕密度為高頻,中頻,低頻自動縮放,禁止使用者手動調整縮放)

<meta name="viewport" content="width=device-width,target-densitydpi=high-dpi,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>

另外,iOS 7.1的Safari為meta標籤新增minimal-ui屬性,在網頁載入時預設隱藏位址列與導航欄

    <meta name="viewport" content="minimal-ui">  

此時點選頂欄區域便能切換為顯示位址列、導航欄,再點選頁面主體區域則又使之隱藏。

相關推薦

解決網站部分使用者訪問browserconfig.xml檔案返回404的問題

問題描述 部分使用者訪問網站時,檢測日誌出現url(http://www.xxx.cn/browserconfig.xml)這個返回404.網上一搜才知道,這是ie11的磁貼(https://msdn.microsoft.com/library/dn4551

idea解決建立maven專案時web.xml檔案版本過低的情況

前言 之前介紹瞭如何在idea中部署maven的web專案,但是建立maven專案之後,發現一個小瑕疵: <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

如何解決在使用Eclipse在配置xml檔案時,xml檔案底部不出現namespace等選項。

如題:    使用Eclipse在配置*.xml檔案時,需要配置名稱空間namspace,  .xml檔案底部不出現配置選項: 如下為正常顯示的情況   如無法顯示此列: 解決方法: 1、 開啟 Window-> preferences->General-&

解決nginx發布網站跨目錄訪問

ges php5 重啟 otto 訪問 ast con start img 解決nginx發布網站跨目錄訪問(thinkphp5+lnmp) 到:usr/local/nginx/conf/vim fastcgi.cof 把最後一行加上井號#註釋掉保存重啟 restart

解決WordPress設置錯誤的url網站不能訪問的問題

rep SQ cti 安裝 url地址 com 目錄 字段 正常 通過WordPress後臺首選項更改了網站url地址之後,網站就會出現訪問不了的情況,一般來說,網站後臺也登陸不上去了,我從網上尋找到了四種方法,這四種方法前三種都是需要登陸到後臺的,但實際上出錯後,都不能登

關於eclipse ADT 編輯xml檔案時不能自動提示問題的解決

        在編輯android佈局檔案時,eclipse總是不能自動提示,在網上找了一些資料,大部分都是說關於xml editor配置的,下面也把這個方法羅列在下面,以供參考:    &nb

建立的maven專案,pom.xml檔案報錯解決方法

eclipse建立的maven專案,pom.xml檔案報錯解決方法 【錯誤原因一:】maven 編譯級別過低 【解決辦法:】 使用 maven-compiler-plugin 將 maven 編譯級別改為 jdk1.6 以上: <!-- java編譯外掛

訪問本地php檔案一直報404 file not found錯誤(已解決

環境是mac + nginx + maysql + php。 在桌面上建立了一個資料夾,路徑是/Users/wyung/Desktop/st,在st資料夾下面有html檔案和php檔案。 用nginx對這個專案分配了介面,訪問地址是http://127.0.0.1:9999/login.ht

用JDOM解析XML檔案時如何解決中文問題?如何解析?

1 import javax.xml.parsers.DocumentBuilder; 2 import javax.xml.parsers.DocumentBuilderFactory; 3 import javax.xml.transform.OutputKeys; 4 import jav

Jenkins如何整合執行testng.xml檔案解決方案

前言: 在我們使用maven+testng+restassured+reportng實現介面測試框架時,會發現在本機建立專案,進行一些pom引用和簡單的封裝後,很快就可以直接利用idea自帶的testng外掛直接執行testng.xml檔案中我們寫好的case,但當我們脫離了idea等編輯工具時,怎麼讓我們

使用QDomDocument的setContent解析XML檔案報錯的解決方案

可能的錯誤: 1、使用QDomDocument建立根節點時,使用了諸如:rootNode.setAttribute(“ProjName”,fileName);或者rootNode.setAttribute(“Version”,“2.0”);等等,根節點不能帶屬性 2、create

編輯xml檔案時不能自動提示問題的解決

 在編輯xml檔案時,eclipse總是不能自動提示,在網上找了一些資料,大部分都是說關於xml editor配置的,下面也把這個方法羅列在下面,以供參考:         解決辦法:在eclipse的選單裡,找到window

maven專案pom.xml檔案第一行報錯解決方法

今天在新建一個maven專案時,第一行報了一個錯,內容如下 Project build error: Non-parseable POM D:\sts\repository\org\springframework\cloud\spring-cloud-contract-dependencies\

解決idea建立ssm專案找不到mybatis的mapper的xml檔案問題

建立一個maven web工程,專案結構如下   就是想實現一個簡單的查詢功能,把spring mvc、spring 和 mybatis整合起來。 部署並啟動專案後,總是報一個錯誤:org.apache.ibatis.binding.BindingException: I

Mybatis傳值為空需要配置JdbcType來解決嗎?(XML檔案不需要配置JdbcType)

1,解決思路,配置自定義的語言驅動,重寫自己的Paramethander   1 package cn.com.servyou.gxdqy.tool.xmlhelper; 2 3 import org.apache.ibatis.executor.parameter.Param

Qt XML檔案的建立、讀取介紹以及“重寫XML不能覆蓋原內容問題”解決

簡介XML XML(Extensible Markup Language,可擴充套件標記語言),是一種類似於HTML的標記語言,設計目的是用來傳輸資料,而不是顯示資料。XML的標籤沒有被預定義,使用者需要在使用時自行進行定義。XML是W3C(全球資訊網聯盟)的推薦標準。相對於資料庫表格的二維

Mybatis學習總結三之簡化sql對映xml檔案中的引用及解決欄位名與實體類屬性名不相同的衝突

一、為實體類定義別名,簡化sql對映xml檔案中的引用 我們在sql對映xml檔案中的引用實體類時,需要寫上實體類的全類名(包名+類名),如下:parameterType="com.aiit.pojo.User"這裡寫的實體類User的全類名com.aiit.pojo.User, <i

在eclipse上寫maven專案時pom.xml檔案第一行一直報錯,解決辦法

  在pom.xml裡面加上一下即可,個人意見 <properties>             <maven-jar-plugin.ver

Delphi使用NativeXml訪問XML檔案

1.建立XML檔案var Doc: TNativeXml;//宣告上下文物件var filepath:string;//檔案路徑DOC:=TNativeXml.CreateName('root');Doc.EncodingString:='gb2312';DOC.XmlFormat:=xfReadable;D

當在寫android的xml檔案中出現Unexpected text found in layout file: """的解決辦法

#當在寫android的xml檔案中出現Unexpected text found in layout file: “”"的解決辦法 當出現 Unexpected text found in layout file: “”" Incorrect line e