我有最簡單的Chrome擴展包含內容的JavaScript(沒有別的):用的console.log奇怪的輸出(5)
script="\
c=0;\
(function f() {\
if (++c>20) return;\
console.log(5);\
setTimeout(f, 500);\
})();\
";
scriptBlock = document.createElement('script');
scriptBlock.type = 'text/javascript';
scriptBlock.appendChild(document.createTextNode(script));
document.getElementsByTagName('head')[0].appendChild(scriptBlock);
這只是注入一小塊JS的入目元素。 在mail.google.com中,控制檯輸出是4個五進制,然後是16個Resource interpreted as Other but transferred with MIME type undefined.
每個其他站點只顯示20個五。
任何人都可以解釋這種行爲嗎?
哪個全局變量 - c?上面的代碼是完全未更改的內容腳本 – wezten 2012-01-03 12:01:33
雖然這是真的,但似乎計數器正在工作(OP描述了輸出的20個「塊」),並且即使它已被破壞,這是如何解釋MIME類型的消息? 'c'必須是一個非常非常奇怪的宿主對象,因爲這一切都是有意義的。 – davin 2012-01-03 12:04:31
@jadegem:是的,* c *是全局變量。 @davin:你有一個點在那裏...如果消息的數量不是巧合,那麼唯一可能的原因是'console.log'被重新定義... – Guffa 2012-01-03 12:09:26