皆さん、
簡単な質問です。誰かがこの構文が適切かどうかを確認できますか? これに関しては、firefox 1.7.3 と ie8 でエラーが発生しており、私の人生ではそれを取得できません。
<script>window.jQuery || document.write('<script src="/js/jquery-1.7.1.min.js"><\/script>')</script>
皆さん、
簡単な質問です。誰かがこの構文が適切かどうかを確認できますか? これに関しては、firefox 1.7.3 と ie8 でエラーが発生しており、私の人生ではそれを取得できません。
<script>window.jQuery || document.write('<script src="/js/jquery-1.7.1.min.js"><\/script>')</script>
for starters でエスケープする必要はありません (/
有効なエスケープ シーケンスとして認識されないため、失敗しています)。document.write
\
\/
ただし、それを削除すると</script>
、XML パーサーが失敗する可能性があります。(<script>...</script>
はパーサーが探しているものです。それが (文字列と見なされる) 内にあるかどうかは気にしません) したがって、連結が導入されます: </scr'+'ipt>
.
全体として、次のものがあります。
<script>window.jQuery || document.write('<script src="/js/jquery-1.7.1.min.js"></scr'+'ipt>');</script>
パーサーが最初</script>
に遭遇すると、スクリプトタグを終了します。したがって、この修正は機能するはずです。
<script>
window.jQuery || document.write('<script src="/js/jquery-1.7.1.min.js"></sc'+'ript>');
</script>
動的スクリプトの読み込みについて、別のアプローチをお勧めします。例えば:
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= 'helper.js';
//append script somewhere on the dom