2012-02-08 8 views
4

不正な形式のjavascriptコードの後に​​、後続のスクリプトが確実に実行されるように一連の文字が使用できますか?「終了文字」は、通常、後続のjavascriptが実行されることを保証しますか?

私たちは別の部門に同じページに配置されるjavascriptコードを書いているという考えがあります。 「他の」グループは悪いコードを残していることで有名です。私のコードは(site.masterを介して)フッタにあるので、私のコードが確実に実行されるようにするために、どんなキャラクタセットを使うことができますか?

// > "" ; */ 
alert("this code will always run, regardless of what happens before..."); 
+3

私はそのようなものは存在しないと信じています... – jondavidjohn

+0

私はvb6を思い出します。エラーが発生した場合は続行します。 – PAULDAWG

答えて

6

いずれものECMAScript自体に定義されていません。構文的に無効なプログラムはまったく実行されません。

HTMLでは、</script><script>は現在のSCRIPTを閉じて新しいSCRIPT要素を開きますが、1つのSCRIPT要素のコンテンツの解析に失敗しても、他のSCRIPT要素のコンテンツは異なるプログラムであるため解析できません。前のコンテンツは、行コメントは常にある場合

は、あなたの例のように、任意の行終端で十分だろう、とECMAScriptのラインターミネータは、仕様のセクション7.3に応じ

U+A  \n 
U+D  \r 
U+D,U+A \r\n 
U+2028 Line separator 
U+2029 Paragraph separator 

です。

+0

ありがとうございます。 '

3

要素がそれ自身のscript要素である限り、前の要素とは関係なく問題なく動作します。

Example | Source

関連する問題