我實現了一部分,以幫助我與調試對於很多遞歸,這段代碼做了什麼?這個腳本的
var ZFDebugLoad = window.onload;
window.onload = function(){
if (ZFDebugLoad) {
ZFDebugLoad();
}
ZFDebugCollapsed();
};
螢火蟲給我的錯誤
我的代碼看起來像一個無限循環,所以我「上的錯誤太多遞歸突破」 「M想知道爲什麼原作者把它在,另外還有在功能上不歸路,所以ZFDebugLoad永遠不會有一個值...
編輯真正原因這個錯誤(對於接下來的任何其他人我做了同樣的教程,導致錯誤r爲這條線
$response->setBody(preg_replace('/(<head.*>)/i', '$1' . $this->_headerOutput(), $response->getBody()));
它使用正則表達式模式/(<head.*>)/i
,這引起了腳本被追加到我的HTML5 <header>
標籤,T更正此我插一個空間分成模式/<head(?!er).*?>/i
那麼,爲什麼Firebug會說很多遞歸,這不就是它試圖執行bajillion次的標誌嗎? – Moak 2011-03-09 06:11:08
@Moak - 我檢查過了,它似乎工作正常:http://jsbin.com/onaye4,所以問題很可能在其他地方。原始函數可能有無限遞歸,'ZFDebugCollapsed'有一個,或者場景比顯示的更復雜(例如,整個代碼包含在一個綁定到'onload'的函數中) – Kobi 2011-03-09 06:14:42
我看到,那麼我需要弄清楚,它可能是由其他jQuery插件引發的,因爲當我禁用除腳本以外的所有腳本時,它確實可以工作,而不會導致錯誤。 – Moak 2011-03-09 06:23:39