0

在我拥有的网站上,以下匿名<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>
4

0 回答 0