私のウェブサイトのページテンプレートには、多くの* .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. モジュールの宣言ファイルが見つかりませんでした。
- 4. 変数のinerface-file宣言が見つかりません
- 5. Typescript '宣言ファイルでモジュールが見つかりません'
- 6. 宣言ファイルから型が見つかりませんTypescript
- 7. ノックアウトJSで宣言された変数はHTMLで利用できません
- 8. 'react-dates'モジュールのカスタム宣言ファイルで宣言ファイルが見つかりませんでした
- 9. フィーチャモジュールで宣言されたコンポーネントが角2で見つかりません
- 10. enzyme-adapter-react-16の宣言ファイルが見つかりませんでしたか?
- 11. さらに別の 'メンバー宣言が見つかりません'
- 12. モジュール 'react-redux'の宣言ファイルが見つかりませんでした。
- 13. なぜjsファイルが見つかりませんでしたか?
- 14. エラー:iphone sdkでプロトコルの宣言が見つかりません
- 15. 角2 + Auth0(モジュール 'auth0-js'の宣言ファイルが見つかりませんでした)
- 16. インクルード変数からインクルードされたファイル
- 17. プロパティ 'newGameButton'の宣言がインターフェイスに見つかりません
- 18. プロトコルの宣言が見つかりません
- 19. 要素「beans」の宣言が見つかりません
- 20. iPhoneエラー:MPMusicPlayerControllerのプロトコル宣言が見つかりません
- 21. ESP8266 RTOS SDKピン16の宣言が見つかりません
- 22. NSFetchedResultsControllerのプロトコル宣言が見つかりません
- 23. Spring AOP: "aop:config"要素の宣言が見つかりません "
- 24. 要素 'tx:annotation-driven'の宣言が見つかりません
- 25. 要素会社の宣言が見つかりません
- 26. 'int-xml:xpath-filter'要素の宣言が見つかりません
- 27. 要素 'neo4j:config'の宣言が見つかりません
- 28. 要素 'beans'の宣言が見つかりません。春に
- 29. 要素 'mvc:annotation-driven'の宣言が見つかりません
- 30. 'AVCapturePhotoCaptureDelegate'のプロトコル宣言が見つかりません