0

私のサイトでは、GoogleアナリティクスとChartbeatを含むGoogleタグマネージャと、DoubleClick For Publishers(DFP)広告の束がロードされています。ジオロケーションAPIを使用しようとしているスクリプトをどのようにデバッグできますか?

モバイルでは、誰かが自分のサイトにアクセスしたときに「example.comはあなたのロケーションを使用します」という通知を受け取りますが、その情報にアクセスしようとしているものは特定できません。

FirefoxまたはChromeを使用して、ジオロケーションAPIを使用しようとしているスクリプトをデバッグする方法を教えてください。

答えて

2

Geolocation APIには、getCurrentPositionと呼ばれる機能があります。これは呼び出されています。

コードベースが大きいためにその呼び出しがどこで起こっているのかわからない場合や、クライアントライブラリで発生している場合は、見つけるのがかなり難しい場合があります。

解決策の1つは、[ソース]パネルでソリューションを検索することです。あなたはショートカットCmdを + オプト + F(Mac)またはCtrlキー + Shiftキー + F(Windows)を使用してこれを行うには、 "地理位置情報" やAPI呼び出しの一部を検索することができます。パネルに結果のリストが表示されます。

もう1つの有用な解決法は、私がDebugging JavaScript by Redefining Functionsと呼ぶのが好きな方法です。オリジナルの関数のコピーを保存し、それをオーバーライドしてデバッグロジックを挿入し、元の関数を現在のコンテキストから呼び出します。それが呼び出されるたび、デバッガが壊れるよう

はこれを利用して、我々は、getCurrentPosition関数にdebugger声明を注入することができますし、デベロッパーツールでコールスタックを持つことになります。

var oldGetCurrentPosition = navigator.geolocation.getCurrentPosition; 

navigator.geolocation.getCurrentPosition = function() { 
    debugger; 
    return oldGetCurrentPosition.apply(this, arguments); 
} 

生産に登場するこのデバッグコードを避けるために、私は、好ましくはスニペットを使用して、コンソールでこれを実行します。良いことは、ロジックが元のコードを破らないということです。

関連する問題