Fancybox / iFrame位置(跨域),使用postMessage
||
当用户单击标题区域中的按钮时,我试图获取iFrame(在fancybox中)的位置。它位于不同的域上,因此我正在使用postMessage,并且我希望它获取完整的URL(例如\“ www.example.com?pid = 12345 \”),以便在使用\ “尝试搜索\”按钮,然后我的网站可以搜索pid \“ 12345 \”。
片段...
<script type=\"text/javascript\">
window.addEventListener(\"message\", function(e) {
alert(e.data + \" : \" + e.origin + \" : \" + e.source);
}, false);
</script>
<script type=\"text/javascript\">
$(document).ready(function() {
$(\"a#codelookup\").fancybox({
\'width\' : 1050,
\'height\' : \'75%\',
\'title\' : \'<p class=\"wrapbutton\"><a href=\"javascript:;\" onClick=\"postMessage(\\\'Hello?\\\', \\\'*\\\'); $.fancybox.close();\">Attempt Search</a></p>\',
\'titlePosition\' : \'inside\',
\'type\' : \'iframe\'
});
});
这会警告\“ Hello?\”消息,但e.origin返回父域(而不是iFrame的网址)。如果我postMessage(this.location,\'* \')是未定义的。
有人可以帮忙吗?
没有找到相关结果
已邀请:
2 个回复
盟犯涩沟都
旦彤