我正在調試一個問題,其中$ .active值在發出AJAX請求動態加載iFrame(這是頁面已經加載之後)後沒有減少。以下是加載iFrame的源代碼:
function initializeiFrame(id, frameborder, iFrameSrc) {
var iFrameSelector = $('<iframe id="' + id + 'iFrame" name="' + id + '" allowtransparency="true" scrolling="no" frameborder="' + frameborder + '" style="display: none; top: 0px; left: 0px; position: absolute"> </iframe>');
iFrameSelector.appendTo("#hiddenIFrameContainer");
iFrameSelector.attr('src', iFrameSrc);
return iFrameSelector;
}
iFrameSelector = initializeiFrame(id, frameborder, iFrameSrc);
iFrameSelector.load(function() {
doWorkAfteriFrameLoad(...);
});
此代碼在第一次加載iFrame時工作正常。第二次調用此代碼(對於不同的iFrame,但重用相同的代碼)時,它會鎖定,因爲在我們的應用程序中,我們在允許發送AJAX請求(我們限制請求數量)之前檢查$ .active值。顯然,當動態加載iFrame時,$ .active值不會被減少。因此,下一次加載時,$ .active值太高,消息永遠不會發送到服務器。有任何想法嗎?