回答:
ブラウザーによって、これは異なる方法で処理されます。一部がsrcエラーなしで含まれている場合にのみコンテンツを実行します。一部は、src成功に関係なく、スクリプトを含めようとした後にそれを実行します。この動作は信頼できないため(HTML5では禁止されている)、回避する必要があります。
Googleは特定の動作に依存していません。コンテンツは単なるオブジェクトリテラル(値)であるため、実行しても実際には何も実行されず、サイレントエラーが発生します。Googleのコードはscriptタグ自体のコンテンツを調べ、それに基づいて動作を調整します。
src属性が存在し、実際にはオブジェクトリテラルではない場合、スクリプトの内容は実行されません。そのコードはSyntaxError、実行された場合に生成されます。スクリプトが使用するのは、単に「JSONテキスト」です。後で単独で。
s=document.getElementsByTagName('script'); text = s[s.length-1].innerHTML; を含まないスクリプトノードのコンテンツを取得する方法はないと思います。
場合はscript要素を持っているのsrc属性を、コンテンツがなければなら無視され、他の動作は、非準拠です。
ブログでは(ハックとして)評価されないことを認識して要素にコンテンツを配置し、DOMメソッドを使用してコンテンツを文字列として取得し、評価するか、新しいスクリプト要素に挿入することが推奨されています。これらはどちらも良い考えではありません。
よるHTML5のドラフト仕様、<script>と要素srcの属性は唯一のコメントアウトされている必要がありますスクリプトのドキュメントを与えることを意図されたコードを、。Googleがこの仕様に準拠しているようには見えません。
スクリプトが読み込まれると、スクリプトのコンテンツにアクセスするために、独自のスクリプトタグ内を調べます。
次のようなコードを使用します。
var scripts = document.getElementsByTagName("script");
var data = eval(scripts[scripts.length - 1].innerHTML);
ジョンResigの礼儀。