js跨域问题怎么解决?

zhenhunfan3 2013-03-19 09:33:19
我在A.html中ifrme了B.html,B.html会调用A.html页面上的js方法(parent.SetChanged())。

A.html上面的js方法如下:

var hasModified=false;
function SetChanged() {
hasModified = true;
}


因为A.html和B.html不在同一个域里,这个跨域问题怎么解决?
...全文
466 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhenhunfan4 2013-03-22
  • 打赏
  • 举报
回复
http://www.cnblogs.com/zhangliang0115/archive/2012/08/16/2642138.html 不过用jsonp的方式仅是一个get请求,用iframe套c.html,你这种情况又不可能。顶级域名的跨域说实话,我认为是无解的。
qwerty4f 2013-03-20
  • 打赏
  • 举报
回复
iframe可以,还有被跨域的页面要设置一个IE的post头 具体是什么记不清了
  • 打赏
  • 举报
回复
跨顶级域调用js方法无解,如果是不同的2级域名,可以设置document.domain="顶级域名"来实现跨域
艾小仙 2013-03-19
  • 打赏
  • 举报
回复
jsonp 不过这个只能get请求
functionsub 2013-03-19
  • 打赏
  • 举报
回复
不借助后台好像没有办法。
asuka986 2013-03-19
  • 打赏
  • 举报
回复
这种情况用jsonp是不可取的, 要实现跨域可以有以下这种方式: 在B.html上动态生成一个iframe,内嵌C.html,该iframe的url为域名A(与A.html在同个域名下)的一个url,该url在加载时会执行一段js脚本:parent.parent.SetChanged()。 C.html的parent是B.html,B.html的parent就是A.html,这样就不跨域了。 这种方式我们在项目中使用过,在IE8以上和FireFox下是可行的,其他浏览器没测试过,就不敢说了。

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧