我的网页使用 iframe 收集其他页面的内容。所有页面都在同一个域中。
从主页上,有没有办法确认所有 iframe 都已加载,并且没有 404 错误?
最佳答案
状态仅存在于响应 header 中。
404 页面正在处理 HTTP Status Code ,它仅包含在服务器发送到浏览器的响应中,而不包含在 javascript 可能访问的 DOM 的实际 window
和 document
对象中。这意味着,虽然您当然可以收集状态代码并采取适当的操作,但您只能在您的 javascript 收到响应时执行此操作,例如使用 jQuery.ajax() request或 XmlHttRequest to load your "iframe" .
希望404页面遵循404标准。
如果上述方法不可行,则唯一的其他可能性可能是检查标题和/或 H 标签中的“404 ”。虽然这肯定不太理想(我很想看到“404,找不到电影,电影。”),但这是您唯一的其他选择。
$('#iframe').load(function (e) {
var iframe = $("#iframe")[0];
if ( iframe.innerHTML() ) {
// get and check the Title (and H tags if you want)
var ifTitle = iframe.contentDocument.title;
if ( ifTitle.indexOf("404")>=0 ) {
// we have a winner! probably a 404 page!
}
} else {
// didn't load
}
});
关于javascript - 如何检测 iframe 中的 404 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16499117/