1

Google chrome ブラウザ (19.0.1084.56 m) に奇妙なバグ (または機能?) があります。ページで次の JavaScript コードを実行しようとしています。

//...
function successCallback(position) {
    console.log('success');
}

function errorCallback(error) {
    console.log('error');
}

navigator.geolocation.getCurrentPosition(
    successCallback,
    errorCallback,
    {timeout: 1000});
//...

ブラウザは私に尋ねます:「サイト名はあなたの物理的な場所を追跡したい[許可] [拒否] ...詳細[X]」.

許可/拒否ボタンをクリックすると、コールバック関数が正常に機能します。しかし、[X] ボタンをクリックしても何も起こりません :( [X] のクリックを検出する方法はありますか?

PS Firefox にはFirefox 11 と GeoLocation denial コールバックと同じ機能があるようです

4

1 に答える 1

0

Chromeには無視オプションのコールバックがないと思います。

もし私があなたなら、タイムアウト コールバックを実装しようとします。

コード例:

    _callback = false;
function successCallback(position) {
    _callback = true;
    console.log('success');
}

function errorCallback(error) {
     _callback = true; 
    console.log('error');
}

setTimeout(function(){if(!_callback)console.log('ignored')}, 10000); //chanche the timeout according your needs

navigator.geolocation.getCurrentPosition(
    successCallback,
    errorCallback,
    {timeout: 1000});
于 2012-06-14T18:28:22.063 に答える