2012-11-21 21 views
12

私はJSHintを使用していて、それが次のエラーを得た:スクリプトターゲットURLの問題は何ですか?

私は理由 javascript:... URLを含む文字列がある。この特定の行に起こったことに気づい
Script URL. 

私は、scripturlオプションが設定されているためにJSHintがそれに不満を持ち、私のコードベースがかなり大きいので、今はそれを解除する必要があることを知っています。

まだ、スクリプトのURLを使用する問題は何か分かりません。

+0

これは悪い習慣です。 – epascarello

+6

@epascarello:彼はなぜ尋ねています。 – SLaks

+3

なぜ私はそれを答えにしなかったのですか?あなたは素晴らしいです! – epascarello

答えて

19

javascript: URLは「eval is evil」の一部です。

javascript:のURLを実行するには、ブラウザはJSパーサーを起動し、URLのテキストを解析する必要があります。
これは遅く、高価なプロセスです。

また、javascript: URL(またはソースコードを含む他の文字列)を組み立てることは、XSSの脆弱性の影響を受けやすいトリッキーな作業です。

最後に、コードとURLを混在させると、コンテンツと動作(コード)の分離に違反します。

+0

スクリプトを '