在iPad桌面web链接上禁用电话号码检测?
我正在开发一个web应用程序,它将作为全屏应用程序从iPad上的桌面图标启动。建议使用此元标记:在iPad桌面web链接上禁用电话号码检测?,ipad,html,Ipad,Html,我正在开发一个web应用程序,它将作为全屏应用程序从iPad上的桌面图标启动。建议使用此元标记: <meta name = "format-detection" content = "telephone=no"> 然而,这似乎不起作用。是否有其他HTML/CSS/JavaScript机制来控制这种行为 锚定标签的随机注入给我带来了很多CSS错误 解决方法 我发现其中一个可行的方法是注入特殊的空格字符,但是在输出中转换所有数据的想法并没有让我感到高兴。这样的角色会把自己的问题摆到
<meta name = "format-detection" content = "telephone=no">
然而,这似乎不起作用。是否有其他HTML/CSS/JavaScript机制来控制这种行为
锚定标签的随机注入给我带来了很多CSS错误
解决方法
我发现其中一个可行的方法是注入特殊的空格字符,但是在输出中转换所有数据的想法并没有让我感到高兴。这样的角色会把自己的问题摆到桌面上。AJAX和JavaScript转换将使这项工作更加复杂
复制
复制步骤:
<!DOCTYPE html>
<html>
<head>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name = "format-detection" content = "telephone=no">
<title>Telephone detect</title>
</head>
<body>
expected:
<a href="tel:1555555">1555555</a>
<br />
bad: 1555555
<br />
bad: 1555555
<br />
inconvenient: 1555555
</body>
</html>
电话检测
预期:
坏:1555555
坏:1555555;
不便:1;555555
注释
似乎有关联,但缺乏细节,我不确定iPhone上的行为是否相同。这是一个web应用程序,没有本机组件。iPad版本3.2.2。好的,修复了它。。添加一个
,并将其样式设置为无文本装饰。。。我在asp.net中使用了asp:hyperlink控件,它在3.2上运行,所以不确定为什么它在4.2中停止,但使用标准的a链接是可行的。元标记在asp.net中对我有效。我的猜测是,它对OP不起作用,因为HTML格式不好。非IE浏览器、Mozilla浏览器存在格式错误的XML/Html问题。改变
到
在电话链接加载后放置此项
if (navigator.userAgent.match(/(iPhone|Android|BlackBerry)/)) {
//this is the phone
} else if (navigator.userAgent.match(/(iPod|iPad)/)) {
$('a[href^=tel]').click(function(e){
e.preventDefault();
});
} else {
//this is the browser
$('a[href^=tel]').click(function(e){
e.preventDefault();
});
}
meta标记将工作:
<meta name="format-detection" content="telephone=no" />
是Safari浏览器没有正确显示更新的页面。对页面进行一些其他文本更改并刷新,更改将显示。如果您已经以这种方式查看过,只需添加meta标记,页面上的数字仍将被解释为电话号码。我感谢您的努力,此解决方案可能适合某些人,但它会带来其他必须克服的问题(比如将内容转换为tabstop;可访问性问题——这些东西仍然需要在其他浏览器上使用)。标记是HTML 5,其中的
/
对meta
等没有任何影响。我不再在这一领域工作,也没有iPad可供测试,因此无法对照检查行为。为什么第二个if块是必需的?它不与else块做相同的事情吗?注意:我发布此问题和我无法评论该问题是否存在于较新的软件版本中,也无法验证任何建议的解决方案。