9

私は*evalクライアント側のJSを使用してXMLファイルを解析し、結果として複雑なJSコードを生成しています。(ランタイムによって開始される再利用可能な関数を生成します。)ただし、生成されるコードをデバッグする必要があり、Chromeの組み込みブレークポイント、ステッピング、ウォッチウィンドウなどを使用したいと思います。

これを行うためのより簡単な方法はありますか?

  • 生成されたJS文字列をコンソールやウィンドウにダンプします。
  • JavaScriptをコピーする
  • (オプション)JSBeautifierなどのprettifierを介してJSを実行します。
  • <script src="...">別のWebページでロードされるファイルにJSを貼り付けます。

*実際、私ではなく、私の友人がこれを行っていました

4

1 に答える 1

18

を使用する代わりに、また別のファイルに手動でコピー/貼り付けする代わりに、動的に作成された要素のデータURIevalを使用して、JSを生成したページに直接動的にロードできます。このアプローチでは、Chromeの開発者ツール(およびFirebug)を使用して、データURIをスクリプトとして選択し、Pretty Printをオンにして、ブレークポイントを設定すれば、すぐに使用できます。<script>

var js = createMyJSCodeString();
addCode(js); // Right now! Debuggable!

// Dynamically evaluate JavaScript-as-string in the browser
function addCode(js){
  var e = document.createElement('script');
  e.type = 'text/javascript';
  e.src  = 'data:text/javascript;charset=utf-8,'+escape(js);
  document.body.appendChild(e);
}
于 2012-06-28T15:39:22.843 に答える