0
所以我有這個頁面加載一個iframe與外部內容(不同的域名)。 現在下面的腳本部分加載另一個JS功能的iframe負載5秒後:當瀏覽器停止按鈕或ESC按下時停止JS
document.getElementById('" . $hash . "').onload = function() {
window.setTimeout('kernelInit(\'" . $hash . "\')', 5000);
if ($(this).height() == 0) {
window.location = 'stop.html';
}
if ($(this).width() == 0) {
window.location = 'stop.html';
}
};
都好到現在。但是,用戶可以單擊瀏覽器停止按鈕或按ESC鍵,從而防止iframe內容完全加載或完全加載。所以上面的JS檢查是無用的,因爲它無法檢查iframe內容是否被加載,或者如果用戶手動停止加載。
我知道必須有解決方案。也許創建然後每X毫秒檢查用戶和服務器之間的連接?理論上如果取消(通過瀏覽器停止按鈕或ESC鍵)應該取消進一步加載任何javascript。 此處的目標是在導航停止或取消時不完成上述腳本。
任何指針? 謝謝。
爲什麼你需要在一個iframe加載其他頁面? –
廣告顯示在iframe中。用戶可以通過激勵來查看這些廣告。如果用戶停止加載廣告,那麼我們有問題。 – Ivan
正在加載的框架並不一定意味着廣告正在顯示。只要用戶可以用一些自定義的CSS來隱藏它們。另一種方法是通過XHR通過服務器或其他允許跨域的服務器獲取內容。 –