JQuery作者之一John Resig所說,jQuery是“Write less, do more”,它將幾乎所有JavaScript交互和動(dòng)畫效果作為快捷方式實(shí)現(xiàn)。然而,jQuery的強(qiáng)大功能也會(huì)使我們陷入麻煩。其中一個(gè)常見問題是有時(shí)通過iFrame加載的頁面會(huì)返回404錯(cuò)誤。今天我們將討論如何解決這個(gè)問題。
// 以下是示例代碼 $("iframe").each(function() { $(this).on("load", function() { var frameDoc = this.contentWindow.document; if (frameDoc.location.href == "about:blank") { console.log("Blank page!"); } else if (frameDoc.location.href == "about:srcdoc") { console.log("Page created using srcdoc attribute!"); } else if ($(frameDoc).find("title").text() == "404 Not Found") { console.log("Page not found!"); } }); });
以上代碼首先選擇所有的iFrame,然后綁定“l(fā)oad”事件以便在加載完成時(shí)觸發(fā)。代碼通過確保iFrame已加載完整的內(nèi)容來檢測(cè)是否已獲取404錯(cuò)誤。我們通過檢查不能正確加載的文檔狀態(tài)、頁面標(biāo)題和URL來執(zhí)行錯(cuò)誤檢測(cè)。
在多次測(cè)試后,我們可以使用以上代碼很好地解決了iFrame加載頁面返回404錯(cuò)誤的問題。