iPhone上的Safari会自动为出现在电话号码中的数字字符串创建链接。我正在编写一个包含IP地址的网页,Safari将其转换为电话号码链接。是否可以为整个页面或页面上的某个元素禁用此行为?
当前回答
有一段时间我真的很困惑,但最终明白了。我们对网站进行了更新,有些数字转换为链接,有些则没有。事实证明,如果数字在<fieldset>中,它们将不会被转换为链接。显然不是大多数情况下的正确解决方案,但在某些情况下是正确的。
其他回答
我也遇到了同样的问题,不过是在iPad网页应用上。
不幸的是,既不……
<meta name = "format-detection" content = "telephone=no">
也不……
0 = 0
9 = 9
... 工作。
但是,这里有三个丑陋的技巧:
用字母“O”代替数字“0” 用字母“l”代替数字“1” 插入一个没有意义的span:例如555.5<span>5</span>5.5555
取决于你使用的字体,前两个几乎不明显。后者显然包含多余的代码,但对用户是不可见的。
这当然是拙劣的技巧,如果您从数据动态生成代码,或者如果您不能以这种方式污染数据,那么这可能是不可行的。
但在紧要关头,这已经足够了。
我也有同样的问题。我在UIWebView中找到了一个属性,它允许你关闭数据检测器。
self.webView.dataDetectorTypes = UIDataDetectorTypeNone;
我想我已经找到了一个解决方案:把数字放在<label>元素内。没有尝试任何其他标记,但是<div>使它在主屏幕上处于活动状态,即使有电话=no属性。
从之前的评论中可以明显看出,元标签确实起作用了,但由于某种原因,在iOS的后续版本中,至少在某些条件下,它已经失效了。我运行的是4.0.1。
为什么要删除链接,这使得它非常用户友好的选择。
如果你只是想删除自动编辑,但保持链接工作,只需添加到您的CSS…
a[href^=tel] {
color: inherit;
text-decoration:inherit;
}
根据Safari HTML参考,这似乎是正确的事情:
<meta name="format-detection" content="telephone=no">
如果您禁用了此功能,但仍然需要电话链接,则仍然可以使用“tel”URI方案。
这里是苹果开发者库的相关页面。
推荐文章
- 如何为TableView创建NSIndexPath
- 如何比较两个nsdate:哪个是最近的?
- 使UINavigationBar透明
- iOS应用程序“应用程序无法验证”只在一台设备上
- 适用于所有iOS (iPhone/iPad/Apple Watch)设备的大小
- iPhone:如何获取当前毫秒数?
- 如何在iOS数字键盘上显示“完成”按钮?
- 当文本字段被选中时,滚动UITableView
- 我的iphone应用程序如何检测自己的版本号?
- CSS提交按钮奇怪的渲染iPad/iPhone
- iOS 6应用程序-如何处理iPhone 5的屏幕尺寸?
- safari中的日期无效
- 我怎样才能强迫WebKit重绘/重绘来传播样式变化?
- 总是通过弱引用的自我在ARC块?
- 如何在iOS上获得设备制作和模型?