我在域A中的页面内加载一个脚本(位于域B上):
<div id="page-of-domain-a">
<script type='text/javascript' src='http://MyDomainB/init.js'></script>
<div class='element-inside-page-a'></div>
</div>
此脚本将一个iframe(隐藏)预先渲染到域A上的此页面中(好吧,这将预加载域B中该页面的所有元素/图像/脚本)。
在某些时候,使用在init.js中声明的处理程序:
$(document).on("click", ".element-inside-page-a", function (e) {
e.preventDefault();
SomeFunctionInsideIFrame();
});
我想在iframe中触发一个动作(例如,“嘿iframe,现在让可见”)。
由于脚本和iframe位于同一个域中,为什么我被相同的源策略阻止了?
如何在域A中触发iframe中的异步事件? (我可以完全访问域B)。域B代理?有什么建议吗?
答案 0 :(得分:0)
对于页面和iframe之间的通信,请参阅此文
http://blog.teamtreehouse.com/cross-domain-messaging-with-postmessage