相关疑难解决方法(0)

使用Javascript从加载的iframe中检索HTTP状态代码

我使用jQuery Form插件进行异步表单提交.对于包含文件的表单,它会将表单复制到隐藏的iframe,提交它,并复制iframe的内容.问题是我无法弄清楚如何找到服务器返回的HTTP状态代码.例如,如果服务器返回404,则iframe中的数据将被正常复制并视为常规响应.

我试过在iframe对象中寻找某种status_code属性,但是却找不到那样的东西.


$.ajax()功能无法使用,因为它不支持上传文件.异步上传我所知道的文件的唯一方法是使用隐藏iframe方法.

forms ajax iframe jquery http

47
推荐指数
1
解决办法
4万
查看次数

如何检测iframe中的错误404?

我的网页使用iframe来收集其他网页的内容.所有页面都在同一个域中.

从主页面,有没有办法确认所有iframe已加载,并且没有404错误?

javascript iframe http-status-code-404

28
推荐指数
2
解决办法
4万
查看次数

检查JS是否可以访问iframe的文档

有没有标准的方法来知道我的脚本是否可以访问iframe文档?

我在网上找不到任何东西所以我想出了这个:

function checkifr() {
    function errHandler() {
        alert('Error. Try again later.');
    }
    var ifr = $('#ifr')[0]; //the iframe DOM element

    try {
        var d = ifr.contentWindow || ifr.contentDocument;
        if (!d) {
            errHandler();
            return false;
        }

        var b = $('#ifr').contents().find('body');
        //... manipulate iframe content

    } catch(e) {
        errHandler();
    }
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,当我尝试访问iframe内容并最终在catch块中时,Firefox会抛出错误.Chrome Unsafe JavaScript attempt to access frame在控制台中显示警告但从未进入catch阻止状态,它似乎会返回null这些尝试,因此初始if (!d)处理它.Opera和IE的行为类似于FF.编辑:使用上面的代码,现在Chrome返回一个"空"Window对象(没有属性),它不会触发我的if块.检查Esailija的答案,它可以很好地跨浏览器!

这是小提琴. …

javascript iframe jquery same-origin-policy

14
推荐指数
1
解决办法
5760
查看次数