在我拥有的网站上,以下匿名<p>
元素(地址、EIN 和版权)错误地成为 iOS Brave 上的链接。后两个(EIN 和版权)错误地成为 iOS Firefox 上的链接。它们都不会成为 iOS Chrome、iOS Safari 或 iOS Edge 上的链接(不需要自动链接)。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Some Title</title>
<meta name="format-detection" content="telephone=no">
[ … ]
</head>
<body>
[ … ]
<address><p>PO Box 12345, Some City, Some State 12345</p></address>
<p>EIN 12-3456789</p>
<p><small>©2000–2099</small></p>
</body>
</html>
如果我点击 iOS Brave 上的地址,它会弹出一个对话框,内容如下:
允许链接切换应用?
x-apple-data-detectors://2/1 将启动一个外部应用程序
(不允许)(允许)
如果我点击“允许”,则会出现一条警告,内容如下:
无法打开页面
Brave 无法打开该页面,因为它的地址无效。
(好的)
EIN 和版权在 iOS Brave 上产生了类似的对话框:
允许链接切换应用?
12-3456789 将启动外部应用程序
(不允许)(允许)
允许链接切换应用?
2000-2099 将推出一个外部应用程序
(不允许)(允许)
Firefox 弹出 iOS 电话呼叫按钮。
预期的行为是这些项目都不应该转换为链接。它们不是电话号码,POB 地址也不是可以访问的地方。
有没有正确的方法来防止这种情况?做不到这一点,最好的黑客方式是什么?谢谢你。
更新:
我通过使用图像元素(来自一个像素正方形的透明 GIF,设置为宽度为零和高度为零)打破字符串找到了一个 hack 解决方案。
这不会影响页面显示、复制/粘贴或听写,并且它通过了 W3 和 Google 验证。但是,当出现一个更合适的解决方案时,我仍然希望有一个更合适的解决方案。
<address><p>PO Box 12345, Some City, Some St<img width="0" height="0" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" alt="">ate 12345</p></address>
<p>EIN 12-345<img width="0" height="0" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" alt="">6789</p>
<p><small>©2000<img width="0" height="0" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" alt="">–2099</small></p>