5

Windows Phone 7/8注入地圖:鏈接和電話:鏈接到頁面DOM。這些注入的鏈接也改變了DOM:它將原始HTML文檔中的空格轉換爲&amp;並換行成<br>標籤,然後將這些標籤封裝在錨中。瀏覽器在檢測地址時似乎也有誤報,它將無序列表中的元素轉換爲map:link。Windows Phone IE Mobile - 您如何禁用創建的自動地址(地址和電話號碼)?

我想完全禁用此功能(如果可能的話)。

Example HTML:

<!doctype html> 
<html> 
<head> 
    <!--<meta name="format-detection" content="none"/>--> 
    <!--<meta http-equiv="X-UA-Compatible" content="IE=10,chrome=1">--> 

    <!--<script type="text/javascript">--> 
     <!--document.execCommand('AutoUrlDetect', false, false);--> 
    <!--</script>--> 
</head> 
<body> 
    <div> 
     <p> 
      9380 W. Glendale Ave.<br /> 
      Glendale,&nbsp;AZ&nbsp;85305-9400 
     </p> 

     <!--<p x-ms-format-detection="none">--> 
     <p> 
      623-872-6700 
     </p> 
    </div> 

    <ul> 
     <li>Quicker Checkout</li> 
     <li>Order History/Track Your Order</li> 
     <li>Create an Address Book</li> 
     <li>Manage CLUB/Credit Cards</li> 
     <li>Create a Wish List</li> 
     <li>Write Customer Product Reviews</li> 
     <li>Access Your Account Anywhere</li> 
    </ul> 
</body> 
</html> 

此代碼將產生以下輸出: Output image

頁有這些鏈接補充說:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="maps:9380%20W.%20Glendale%20Ave.%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Glendale,%20AZ%2085305-9400">9380 W. Glendale Ave.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>Glendale,&nbsp;AZ&nbsp;85305-9400</a> 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="tel:6238726700">623-872-6700</a> 

正如你可以看到它在轉換的空間戰爭HTML轉化爲& nbsp;它很難看到,但它也在原始HTML中增加了\ n的額外<br>。

我不能簡單地從源文件中刪除空格和\ n,因爲大部分數據都是在許多設備和非移動網站上使用的託管內容。

目前我已經在很多組合中嘗試過這些。

<meta name="format-detection" content="none"/> 
<meta name="format-detection" content="telephone=no"/> 
<meta http-equiv="X-UA-Compatible" content="IE=10,chrome=1"> <- and many combinations 
document.execCommand('AutoUrlDetect', false, false); 
<p x-ms-format-detection="none"> 

我試圖檢測變化,通過JS突變事件發生,但它出現的瀏覽器時,它這些變化不發送任何事件。

回答

3

在地址周圍用<div>...</div>代替地址周圍的<p>...</p>可以消除空白問題,但是也會破壞地址解析器,使得地址解析器不會將地址鏈接到地圖。不幸的是加入微不幫助任何有把位置檢測回來了,但這個片段沒有鏈接的空白問題:

<div class="vcard"> 
    <div class="n">Mystery Guest</div> 
    <div class="addr">9380 W. Glendale Ave.</div> 
    <div><span class="locality">Glendale</span>, <span class="region">AZ</span> <span class="postal-code">85305-9400</span></div> 

    <div class="tel">623-872-6700</div> 
</div> 

我的猜測是分手地址爲不同的塊級元素扼流圈地址解析器,讓你繼續前進。

這已經在Lumia 521上測試過

1

好的,有already another person誰問這個問題在stackoverflow,但沒有好的答案,唯一的答案是在PHP中使用imageGD生成的圖像,而不是純文本顯然將很難整齊的風格與其周圍的文字類似。

所以,我沒有自己的IE10移動設備,讓我分享一下我確實發現了一些想法:

  • 沒有簡單地用JavaScript/meta標籤或禁用它沒有官方途徑任何類似的方法。
  • 儘管您指出您不控制數據,但您可以構建自己的地址識別器(在服務器端,這可能比在客戶端更容易,因爲在客戶端,您必須循環所有元素,並與一些正則表達式驗證它們)和替換的東西,看起來像任何
    • 一個奇怪的DOM標記地址,就像試圖插入一個文本看不見的DOM元素在其中
    • 內嵌SVG只有a text element,這我非常肯定不會被承認,或者在最壞的情況下是一個畫布元素。

無論哪種方式,這是很好的承認,Windows手機和IE10移動是開發中的產品。並不是說iOS和Android沒有公平的分享問題,但是選擇Windows Phone的用戶常常會意識到很多事情都不會起作用,並且他們使用的是相當「實驗性」的設備,市場份額最低(在撰寫本文時沒有意識到這一點的人傾向於交換他們的設備),所以決定不支持或最低限度地支持Windows Phone設備通常是一個明智的選擇。我知道這不是你正在尋找的答案,但我認爲這是一件很好的事情,不要少加一點。

0

根據this post,您可以使用<pre>標記來禁用此功能(如果您對格式化無誤)。

+0

不幸的是,內容格式化需要維護。 – bheads

相關問題