禁用自动格式化一个电话号码?

时间:2018-10-17 00:06:07

标签: html css hyperlink uri tel

我有一个Web应用程序,该应用程序返回GPS坐标,有时这些坐标会被误解为电话号码,然后由iOS / macOS Safari /邮件应用程序格式化为链接。我知道头部的<meta name="format-detection" content="telephone=no">将禁止所有电话号码链接,但是我只想进行GPS坐标处理。咨询吗?

1 个答案:

答案 0 :(得分:0)

鉴于gps数据的格式为十进制度,并以html的电子邮件格式发送。

电话号码格式由电子邮件客户端在检测到电话号码并尝试将其链接到拨号程序或Messenger程序时完成。

将被格式化的电话号码

212-389-3934
212.389.3934
(800) 389-3934
1-800-389-3934
(212) 389-3934
212&ndash;389&ndash;3934
212&mdash;389&mdash;3934
212&#x2013;389&#x2013;3934
212&#8211;389&#8211;3934
1&#8211;212&#8211;389&#8211;3934
212&#32;-389&#32;-3934

有两种方法可以解决此问题,即将小数度设置为电话号码。

  1. 让客户端修复其电子邮件客户端,使其不再执行此操作。

  1. 通过这样显示数字来欺骗电子邮件客户端,使其认为它已经是一个链接。

<a href=”#” style=”color:#0F3; text-decoration:none”>29.42808 °N -98.48913 °E</a>

下面的旧答案

  

!   要显示GPS纬度和经度,请首先确保您的html格式设置为与html5兼容。

下一步,如果不能解决问题,请尝试以下示例

https://www.w3schools.com/html/tryit.asp?filename=tryhtml5_geolocation_watchposition

<!DOCTYPE html>
<html>
<body>

<p>Click the button to get your coordinates.</p>

<button onclick="getLocation()">Try It</button>

<p id="demo"></p>

<script>
var x = document.getElementById("demo");

function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.watchPosition(showPosition);
    } else { 
        x.innerHTML = "Geolocation is not supported by this browser.";}
    }

function showPosition(position) {
    x.innerHTML="Latitude: " + position.coords.latitude + 
    "<br>Longitude: " + position.coords.longitude;
}
</script>

</body>
</html>

经度和纬度分开并标记。