gpt4 book ai didi

javascript - Windows Phone IE Mobile - 如何禁止创建自动 URL(地址和电话号码)?

转载 作者:搜寻专家 更新时间:2023-11-01 04:17:57 24 4
gpt4 key购买 nike

Windows Phone 7/8 将 map: 链接和 tel: 链接注入(inject)页面 DOM。这些注入(inject)的链接也会改变 DOM:它将原始 HTML 文档中的空格转换为  和换行符到
标签中,然后将它们包装在 anchor 中。浏览器在检测地址时似乎也有误报,它将无序列表中的元素转换为映射:链接。

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

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>

如您所见,它将 war 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">

我试图检测通过 JS 突变事件发生的变化,但浏览器在进行这些变化时似乎没有发送任何事件。

最佳答案

替换 <p>...</p>地址周围有 <div>...</div>每行周围消除了空格问题,但这也破坏了地址解析器,因此它不会将地址链接到 map 。不幸的是,添加微格式对恢复位置检测没有任何帮助,但这段代码没有链接的空白问题:

<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>

我的猜测是,将地址分解为不同的 block 级元素会阻塞地址解析器,让您继续前进。

这已经在 Lumia 521 上测试过了

关于javascript - Windows Phone IE Mobile - 如何禁止创建自动 URL(地址和电话号码)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19686854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com