モバイルデバイスでのJavascriptのデバッグ

私が最近書いたように 、私は現在、1つのサービスのモバイル版を開発しています。 モバイルデバイス用のサイトのデザイン機能に関する昨日の記事は、聴衆が電話、コミュニケーターなどに適したサイトの開発に関心を持っていることを示しました。



サイト上の重要なポイントの1つは、javascriptが担当するダイナミクスです。 残念ながら、モバイルブラウザーからの完全なサポートを待つ必要はありません(たとえば、jQuery、Prototype、Ext JSなどは、このカテゴリのブラウザー向けではありませんが、WebKitベースのモバイルブラウザーに適合したフレームワークのバージョンがあることに注意してください) 。 しかし、人気のあるライブラリをサポートしなくても簡単に実行できます。モバイルブラウザの主な欠点は、javascriptデバッグツールがないことです(Android、iPhone、その他の高度なデバイスにも同様のツールがある可能性がありますが、Opera MiniとIE Mobileに焦点を当てています) )

IE MobileのJavascriptインタープリターはやや気まぐれです。毎回エラーの可能性のある場所にアラートを挿入するのは非常に不便です。 同僚がonerrorイベントの使用を提案しました:

window.onerror = function () {

alert( 'An error has occurred!' );

return true ;

};








次に、エラーを説明する引数を追加しようとしました:行番号、ページアドレス...ただし、IEモバイルはまだエラーに応答しませんでした。 インターネットでの検索の結果、Windows Mobileレジストリにパラメーターを追加することでIE Mobileのデバッグモード有効にする方法があることわかりました。

レジストリ設定「HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ Main」を変更し、「ShowScriptErrors」という名前でMainの下に新しいDWORDキーを作成します。 dword値を1に設定


残念ながら、この方法でも結果は得られませんでした。

金曜日、私がIEがどこでつまずくかを把握しなければならなかったとき、私はD.フラナガンの素晴らしい本「JavaScript。 詳細なガイド」 (JavaScriptのデバッグに関する章があることを思い出しました。提案された方法は職場で提供されたものと一致していましたが、もう一度試してみることにしました。

window.onerror = function (msg, url, line) {

alert(msg + "\n" + url + "\n" + "\n" + line);

return true ;

};








そして、このオプションは機能しました! エラーは正常に検出され、修正されました。 なぜ最初に役に立たなかったのかは明らかではありません。おそらく、この関数が最初に外部jsファイルに配置され、2回目はページに直接配置したという事実かもしれません。

この経験が誰かに役立つことを願っています:-)



All Articles