一个页面有多个iframe找不到结果的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个页面有多个iframe找不到结果的问题相关的知识,希望对你有一定的参考价值。

        前面介绍过iframe,也介绍过跨域请求,这里就不再赘述了。

        今天在实际的业务中碰到了一个现象,一个erp管理系统,用到了上传图片和iframe访问其他的域名的情况,上传图片用到了ajaxfileupload,而这个上传图片的控件本身就有iframe,也就是说导致了一个页面中有2个iframe,导致我上传图片想返回操作结果的时候返回不到任何结果,例如

前台访问调用的方法

$.ajaxFileUpload({
            url : ‘http://*******.com/active/addImg.action‘, // 需要链接到服务器地址
            secureuri : false,
            fileElementId : ‘imgFile‘, // 文件选择框的id属性
            cache :false,
            dataType: ‘json‘,//返回值类型 一般设置为json  
            success : function(result,status) {
            
                    }
                    
})

后台接收并返回

       

Result result=    activeService.addImg(getImgFile(), getImgFileFileName());
print(result.resultJson());

无论调用多少次都无法返回结果,之后上网查询原因,才知道,在多个iframe中,返回结果的domian需要指定,后来在返回结果写成

Result result=    activeService.addImg(getImgFile(), getImgFileFileName());
print("<script>document.domain = ‘******.com‘;</script>"+result.resultJson());

结果就能正常显示了!!!

本文出自 “精忠报国” 博客,谢绝转载!

以上是关于一个页面有多个iframe找不到结果的问题的主要内容,如果未能解决你的问题,请参考以下文章

iframe a跳转后自动刷新又返回原页

子 iframe 找不到父级

找不到用于片段的id 0x7f0800c4的视图

使用 Puppeteer 和 Node.JS 在网站上的 iFrame 中找不到隐藏的输入元素

iframe分栏拖拽伸缩例子

python selenium 获取不到iframe?