js跨域访问的问题,请大家帮帮忙。

_懒猫 2014-07-04 10:12:06
我的需求是这样的:一共有两个网站:一个A网站,一个B网站,我会把B网站签入到A网站中,通过iframe,表现形式是这样的:A网站上会有一个树,点击节点就会创建一个tab,tab页里面有一个iframe页面,B网站就是嵌套在这个iframe里面的,B网站的网页中有超链接,点击超链接就会新建一个浏览器窗口,我现在的需求是,我点击这个超链接希望再创建一个tab页,这样的话我就需要调用A网站中创建tab页的js函数,但是这样的话就跨域了,所以希望大家帮帮忙,怎么解决。
...全文
236 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
_懒猫 2014-07-04
  • 打赏
  • 举报
回复
引用 6 楼 u010316390 的回复:
我昨天也做了个跨域的JS , 我是在请求消息头中添加权限; Response.AddHeader("Access-Control-Allow-Origin", "*"); 这么行代码 就可以跨域了!! 希望对你有用
能给的完整一点么
记忆不打烊 2014-07-04
  • 打赏
  • 举报
回复
我昨天也做了个跨域的JS , 我是在请求消息头中添加权限; Response.AddHeader("Access-Control-Allow-Origin", "*"); 这么行代码 就可以跨域了!! 希望对你有用
KK3K2005 2014-07-04
  • 打赏
  • 举报
回复
引用 4 楼 liujiebest 的回复:
[quote=引用 3 楼 KK3K2005 的回复:] b网站是你的吗 或者你可以改动吗 不是的话 就别想了 是的话 给b网站添加一个和a网站相同的根域名
是我的 都是自己的网站,能详细说一下吗[/quote] 那就有希望了 比如你的主域名是 kk.com a域名是 a.kk.com b域名是 b.kk.com 那么 a b网站的页面 分别设置 document.domain = ‘kk.com’; 那么2个网站的页面 理论上就不存在跨域了
_懒猫 2014-07-04
  • 打赏
  • 举报
回复
引用 3 楼 KK3K2005 的回复:
b网站是你的吗 或者你可以改动吗 不是的话 就别想了 是的话 给b网站添加一个和a网站相同的根域名
是我的 都是自己的网站,能详细说一下吗
KK3K2005 2014-07-04
  • 打赏
  • 举报
回复
b网站是你的吗 或者你可以改动吗 不是的话 就别想了 是的话 给b网站添加一个和a网站相同的根域名
_懒猫 2014-07-04
  • 打赏
  • 举报
回复
引用 1 楼 u012463264 的回复:
你在B页面写JS 调用window.parent.xxxx() 能调用到吗 xxxx()是A页面创建tab的方法
这样不行,因为这两个网站不在同一个域下,浏览器会阻止,提示你没有权限。
别闹腰不好 2014-07-04
  • 打赏
  • 举报
回复
你在B页面写JS 调用window.parent.xxxx() 能调用到吗 xxxx()是A页面创建tab的方法
_懒猫 2014-07-04
  • 打赏
  • 举报
回复
引用 9 楼 u010316390 的回复:
[quote=引用 7 楼 liujiebest 的回复:] [quote=引用 6 楼 u010316390 的回复:] 我昨天也做了个跨域的JS , 我是在请求消息头中添加权限; Response.AddHeader("Access-Control-Allow-Origin", "*"); 这么行代码 就可以跨域了!! 希望对你有用
能给的完整一点么[/quote] 这是我写的JS的代码 我用的是C# 这是C#返回的代码 跨域只能返回json 数据,返回消息头里面要加权限,允许跨域 只能做到这里了!希望对你有帮助 ,我就是这么实现的 [/quote] 谢谢了。
_懒猫 2014-07-04
  • 打赏
  • 举报
回复
引用 8 楼 zyl_lyr1019 的回复:
如果不要求低版本的浏览器的话,使用postMessage方法就可以了。 HTML5中的,其他的应该没有办法直接在两个页面之间直接传值了吧。
谢谢,这个办法解决了我的问题,虽然这个方法还存在一些浏览器兼容的问题,谢谢你。
记忆不打烊 2014-07-04
  • 打赏
  • 举报
回复
引用 7 楼 liujiebest 的回复:
[quote=引用 6 楼 u010316390 的回复:]
我昨天也做了个跨域的JS , 我是在请求消息头中添加权限;

Response.AddHeader("Access-Control-Allow-Origin", "*");
这么行代码 就可以跨域了!!

希望对你有用

能给的完整一点么[/quote]



这是我写的JS的代码


我用的是C# 这是C#返回的代码

跨域只能返回json 数据,返回消息头里面要加权限,允许跨域

只能做到这里了!希望对你有帮助 ,我就是这么实现的





张运领 2014-07-04
  • 打赏
  • 举报
回复
如果不要求低版本的浏览器的话,使用postMessage方法就可以了。 HTML5中的,其他的应该没有办法直接在两个页面之间直接传值了吧。

87,997

社区成员

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

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