我正在为某些网站设计一些“附加组件”,这些网站应作为iframe嵌入其中。在这个iframe中有一个可点击按钮,旨在更改父网站中iframe的位置。
由于事情是与父网站协调完成的,我也可以在那里添加一些代码。然而,似乎我不能够做到以下两种情况(其中一个应该足够):
从iframe访问 parent.document 中的数据,以便将iframe移动到所需的位置。
从父网站访问iframe中的数据,以便检查点击按钮的时间。
两者通常都会产生错误:“阻止带有原始XXX的帧访问源YYY的帧。协议,域和端口必须匹配”。
赞赏任何建议(最好是代码示例)。
答案 0 :(得分:1)
经过大量的搜索,我发现了这个:
http://www.codeproject.com/Tips/585663/Communication-with-Cross-Domain-IFrame-A-Cross-Bro
我实际上测试了该方法(使用我自己的短代码),它似乎适用于Chrome,Firefox和IE。现在我要尝试“真正的”实施......
答案 1 :(得分:0)
据我所知,根据您在问题中提供的信息,无法进行跨域脚本编写。您需要做的是提供一个脚本,父级网站可以将其粘贴到他们的模板/ html中并从他们的域运行,类似于Google对其分析系统的处理方式。
作为替代方案,请尝试将您的iframe内容转换为加载了从父域到iframe域的服务调用的响应的div。您很可能需要创建请求站点可以使用的API。只需使用引用您想要在iframe中加载的页面时使用的任何参数调用该URI,并让您在父网站上运行的脚本处理您想要实现的所有DOM更改。