私のウェブサイトのページテンプレートには、多くの* .jsファイルが含まれています。そのファイルのグローバルなjavascript変数の宣言(再宣言)によって、他のjavascriptコードと競合することがあります。 サイトにはたくさんのファイルがあるので、その変数が宣言されているコード内に場所を見つけるのは難しい(変数名は「名前」であり、検索結果には非常に多くのファイルが表示されます)。 コード(jsファイル名)のどこに特定の変数が宣言されているかを示すjavascriptコードデバッガはありますか?インクルードされたjsファイルの大きなセットで変数宣言が見つかりません
1
A
答えて
0
name =
を検索するように変数名を検索するだけではなく、少なくともその変数の宣言/再宣言を取得するように検索範囲を絞り込む必要があります。中古。
二つの側面は、将来的には混乱のこの種のを避けるために
を指摘し、あなたのJavaScriptは本当にそのようなグローバル変数を使用しないでください。このような競合を避けるために、変数の名前空間を試してください。方法についてはthis SO questionをお読みください。
不必要なHTTPリクエストを避けるために、すべてのJavaScriptファイルを1つのファイルに最小化するようにしてください。最小化プロセスでは、この種の可変競合についての警告が出される可能性が最も高いでしょう。
0
コードをJsLint http://www.jslint.com/lint.htmlで実行します。グローバル変数の内容だけを知りたいので、「最初のエラーで停止する」、「安全なサブセット」、および「adsafe」以外のすべてのチェックボックスをオンにします。
あなたはこの
(function(){
var yourPrivateVariable = 0;
window.yourGlobalVariable = 0;
}());
のような閉鎖の内側にあなたのコードを囲むことにより、変数のプライベートを作ることができます
関連する問題
- 1. 私はjs変数を宣言しましたが、jsファイルにインクルードできませんでしたか?
- 2. 宣言された関数が見つかりません
- 3. エラー:iphone sdkでプロトコルの宣言が見つかりません
- 4. インクルード変数からインクルードされたファイル
- 5. iPhoneエラー:MPMusicPlayerControllerのプロトコル宣言が見つかりません
- 6. プロパティ 'newGameButton'の宣言がインターフェイスに見つかりません
- 7. 要素「beans」の宣言が見つかりません
- 8. プロトコルの宣言が見つかりません
- 9. NSFetchedResultsControllerのプロトコル宣言が見つかりません
- 10. Spring AOP: "aop:config"要素の宣言が見つかりません "
- 11. 要素 'mvc:annotation-driven'の宣言が見つかりません
- 12. Objective-Cインターフェイス宣言が見つかりません
- 13. C++エラー:メンバー宣言が見つかりません
- 14. 'NSKeyValueObserving'のプロトコル宣言が見つかりません。しかし、なぜ?
- 15. 変数が見つかりません
- 16. 大きなオブジェクトでWCFエラーが見つかりません
- 17. マニフェストで宣言されていますが、明示的なアクティビティクラスが見つかりません
- 18. 宣言された変数には影響しません
- 19. 変数が宣言されていません。
- 20. java指定されたファイルが見つかりません
- 21. IIS - 「指定されたファイルが見つかりません。
- 22. matplotlib.animationエラー - 指定されたファイルが見つかりません
- 23. System.ComponentModel.Win32Exception(0x80004005):指定されたファイルが見つかりません
- 24. Tomcat - 指定されたファイルが見つかりません
- 25. PHP $ GLOBALS変数がインクルードされたファイル
- 26. jspから変換されたサーブレット(.java)ファイルが見つかりません
- 27. 文字列変数 'が宣言されていませんでした'ヘッダーC++
- 28. エラーメッセージを理解できません:スカラー変数 "@Username"を宣言しなければなりません。
- 29. ノードjs(Intellij)にファイルが見つかりません
- 30. Googleアプリケーションエンジン(java):gwt gernetated .jsファイルが見つかりません