Mobile Safari不接受HTML5 Meter输入值

时间:2012-04-08 00:04:03

标签: javascript jquery ios html5 mobile-safari

我正在创建一个跟踪您的高程的应用。目前IOS是唯一支持Altitude参数的设备之一,因此让它在移动Safari中运行至关重要。高度将打印在页面上的两个位置,文本元素和Meter元素中,因此可以直观地显示当前的高度。

生成海拔高度并不是问题,但是我没有成功地将高度存储在Meter的值中。需要注意的是Mobile Safari不支持Meter元素,因此我使用polyfill来使其完全正常工作。

你可以大致了解我在这里要做的事情:http://jsfiddle.net/qF9hh/

请注意地理位置coords已被注释掉,但如果您要在IOS设备上测试它们,它们确实有用。

所以我的问题是,如何让Altitude坐标存储在Meter中?

1 个答案:

答案 0 :(得分:1)

这样的事情可能会更好用

var worked = false;
$("button").click(function () {
    worked = false;
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(success, error);
    } else {
        error('not supported');
    }
}).load();​
function error(msg){
    alert(typeof(msg) = "string" ? msg : "error!");
}
function success(pos){
    if(worked)return; // to prevent firing twice in firefox
    worked = true;
    var meter = $("#high");
    if(pos.altitude === null){
        error("Altitide not supported");
        return;
    }
    meter.val(pos.altitude);
    meter.text(pos.altitude + "/" + meter.attr("max"));
}

Jsfiddle