2012-04-20 10 views
0

私は動的にjqueryの動的jQueryの

... 
options = { 
    dataType: "script", 
    cache: true, 
    url: "...appContr.js" 
} 
return jQuery.ajax(options);  
... 

でスクリプトをロードし、私は放火犯でスクリプトをデバッグする場合、このスクリプトは名前「1」を持っているし、すべてが であるとスクリプトをロードするときに何行が放火犯に壊れていません1行(または数行)。私はこれをデバッグに使うことはできません。

私はFirefox 10.0.2とFirebug 1.9.1を使用しています。

私はLAB.js

$LAB.script("...appContr.js").wait(function() { 
     ... 
    });   

またはrequire.js

を使用すると、ファイルが改行を持っており、スクリプトの名前が "appContr" です。

同じ結果を得るためにjQueryコマンドを変更するにはどうすればよいですか?事前に

どうもありがとう

EDIT:

あなたの答えのために、Headshotaをありがとうございますが、これは役立ちません。
さらに、getscriptはコンテンツをキャッシュしません。これは私にとって重要です。

EDIT:

は、あなたの答えのために、マーリンをありがとう:

私はlab.jsまたはrequire.jsでスクリプトを読み込む際に全部が放火犯の強化なしで動作し、問題はjQueryを使っていますスクリプトの読み込み。

Firebugには、コンソール、HTML、CSS、スクリプト、DOM、ネットワークのタブがあります。 jqueryスクリプトの読み込み後にスクリプトを表示してスクリプトを表示すると、コードに改行はありません。
しかし、私が "タブ"コンソールに行くとき、私はget要求のための1つのエントリーを持っています。このget要求で "answer"をクリックすると、スクリプトに改行が含まれます。しかし、これは私には役に立ちません。なぜなら、 "スクリプト"タグで改行がないからです。

+0

どのように応答をデバッグしていますか?成功したらコンソールに出力するか、[Net]タブを使って実際の応答を確認しますか? – beeglebug

+0

JS Deminifierをインストールし、それをオンにすると、改行が「スクリプト」タブに表示されます。 – Marlin

答えて

2

dataType: scriptjQuery.ajax()に応答をJavaScriptとして解釈し、評価するように指示します。

"script":レスポンスをJavaScriptとして評価し、プレーンテキスト として返します。

評価されたコードは、基本的にファイル、行番号、および空白がない可能性があります。 FireBugでデバッグしようとすると、おそらく "eval()ed"コードであることがわかります。

LABjsなどのJavaScriptローダーは、ドキュメントに<script src>タグを挿入して動作します。 JavaScriptのファイル名、ファイルの内容、行番号がすべて利用可能であるため、FireBugのデバッグが容易です。

1

私は右の放火犯でスクリプトの名前を取得する方法定かではないけど、あなたの他のジレンマにカップルのFirebugの拡張があるので、あなたがベン・マーフィーによって

JS Deminifier 1.0.7を考慮する必要があります。この意志あなたのJavaScriptを非常に読みやすいコードに拡張してください(しかし、javascriptが信じられないほど小型化されている場合は、ブレークにつながる可能性がありますが、あなたのケースで起こるようなことはありません)。あなたがファイアバグの下に表示されるアドオンバーをオンにし、JSDがオンに設定されていることを確認してください(左下)。 BinaryAgeによって

FirebugのでJavaScriptのデバッグのためのもう一つの良いオプション...

FireRainbow 1.5:これは非常に参考にシンタックスハイライトと放火犯で見るジャバスクリプトを提供します。

これらのツールがあなたの問題を軽減することを願っています。