bhe*_*ads 5 javascript ie-mobile windows-mobile windows-phone windows-phone-8
Windows phone 7/8将map:links和tel:links注入页面DOM.这些注入的链接也改变了DOM:它将原始HTML文档中的空格转换为 和换行到<br>标签,然后将它们包装在锚点中.在检测地址时,浏览器似乎也有误报,它将无序列表中的元素转换为map:link.
我想完全禁用此功能(如果可能的话).
<!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, AZ 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>
Run Code Online (Sandbox Code Playgroud)
此代码将生成以下输出: 输出图像
该页面添加了以下链接:
<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> <br>Glendale, AZ 85305-9400</a>
<a href="tel:6238726700">623-872-6700</a>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它将战争HTML中的空间转换为 很难看,但它也在原始HTML中添加了一个额外的\n.
我不能简单地从源中删除空格和\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">
Run Code Online (Sandbox Code Playgroud)
我试图通过JS突变事件检测发生的变化,但看起来浏览器在进行这些更改时不会发送任何事件.
小智 3
<p>...</p>将地址周围替换为<div>...</div>每行周围可以消除空格问题,但这也会破坏地址解析器,使其不会将地址链接到地图。不幸的是,添加微格式对恢复位置检测没有任何帮助,但此代码片段不存在链接的空白问题:
<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>
Run Code Online (Sandbox Code Playgroud)
我的猜测是,将地址分解为不同的块级元素会阻塞地址解析器并让您继续前进。
已在 Lumia 521 上进行测试
| 归档时间: |
|
| 查看次数: |
1841 次 |
| 最近记录: |