0

私はjQuery、jQuery mobile(およびPhoneGapですが、それは関係ありません)を使用してモバイルアプリを開発しています。page1.html と page2.html の 2 つの HTML ページがあるとします。page1.html から $.mobile.changePage() を使用して page2.html をロードしています。page2.html のページ div (つまり、data-role="page" を持つ div) には、page2 に固有の JavaScript コードが含まれており、これも page2.html で読み込まれます。page2.html のコードは次のようになります。

<!DOCTYPE HTML>
<html>
<head>
    <title>Title</title>
</head>
<body>
<div id="conf-page" data-role="page">

    <script type="text/javascript" charset="utf-8">

    <!-- MY SCRIPT HERE ----->

    </script>
    <div data-role="header" style="height: 45px">

ここで、page2.html の JavaScript コードのどこかを壊したいと考えています。当分の間、Firefox (16.0.2) と Firebug を使用して開発とデバッグを行っています。page2.html が読み込まれると、firebug スクリプト リストの 2 つの場所に page2.html の JS コードが表示されます。

  1. jQuery.min.js/eval/MD5/ で
  2. jQuery.min.js/eval/seq/<#> で

コードのどこかにブレークポイントを配置すると、上記の(1)のコードに適用されますが、page2.html が読み込まれたときにヒットすることはありません。

ブレークポイントを設定して、page2.html の JS コードのどこかでブレークするにはどうすればよいですか? Web 上で関連するものを見つけることができなかったので、これはかなり一般的な要件であるに違いないため、何かが欠けているに違いないと思います。

4

1 に答える 1

0

別の用語を検索していたようです。このサイトでは、この問題についていくつかの議論がありました。ここにいくつかの参照があります:

上記のスレッドで提案されている2つの解決策があります。

  • これらのスレッドのほとんどは同じ解決策を提案しています。「デバッガー」を使用してください。FireBugデバッガーを停止するためのコード内のステートメント(引用符なし)を2回。私はそれをしました、そしてそれは部分的な解決策でした:firebugは壊れました、しかし変数スタックは空でした。したがって、これはあまり役に立ちませんでした。
  • スクリプトをファイルに入れ、AJAX Get呼び出しを使用して、クロスドメインがtrueに設定されたスクリプトをロードします。これにより、スクリプトファイルが取得され、ロードされ、スクリプトファイルがデバッガーに表示されます。これを使用して、ブレークポイントなどを設定できるようになりました。上記よりも便利です。

他の解決策があるかどうかを確認するために開いたままにします。

于 2012-11-11T21:53:44.823 に答える