-2
鑑於一段代碼工作在Firefox上,但不是在Internet Explorer中。在IE中,它表示COMSCORE沒有定義。腳本加載錯誤
document.writeln('<!-- Begin comScore Tag -->');
document.writeln('<sc'+'ript src="http://someURL/beacon.js">');
document.writeln('</sc'+'ript>');
document.writeln('<sc'+'ript>');
document.writeln(' COMSCORE.beacon({');
document.writeln(' c1:2,');
document.writeln(' c2:7290414,');
document.writeln(' c3:"",');
document.writeln(' c4:"",');
document.writeln(' c5:"",');
document.writeln(' c6:"",');
document.writeln(' c15:""');
document.writeln(' });');
document.writeln('</sc'+'ript>');
但是下面的代碼在兩個瀏覽器中都起作用。
<script>
document.write(unescape("%3Cscript src='http://someURL/beacon.js' %3E%3C/script%3E"));
</script>
<script>
COMSCORE.beacon({
c1:2,
c2:7290414,
c3:"",
c4:"",
c5:"",
c6:"",
c15:""
});
</script>
基本上在這兩種情況下,我特林加載外部JavaScript文件,並試圖使用該定義的變量。我明白,在第一種情況下,錯誤可能是由於JS文件的異步加載。但是
1)爲什麼它在Firefox中工作正常。兩個瀏覽器中的JS文件加載機制是否有區別
2)爲什麼它在第二種情況下在IE中工作。該代碼嘗試以與第一種情況相同的方式工作。如果你一定要
你爲什麼寫腳本這樣? – 2010-09-15 13:10:36
如果直接包含'script'標籤而不寫出來會發生什麼? – 2010-09-15 13:11:01
看起來像是對我的注射攻擊:/ – 2010-09-15 13:11:48