我试图从iframe内部调用父函数来删除容器div,但它似乎失败了,我不确定为什么。我想知道是否因为iframe在父窗口之前加载,所以函数尚未定义。
这是我的父母html:
<div align="center" id="review-embed-container" style="position: relative;">
<iframe frameBorder="0" id="review-embed-iframe" src="http://www.trampolinesshop.co.uk/review/Review-Embed.php?code=1&prod_name=test" scrolling="no" width="100%">
</iframe>
</div>
父母jQuery:
function InjectIframeReview() {
$("#review-embed-container").hide();
};
现在在Iframe页面中我有php检查是否放置了评论,如果没有评论它会调用此javascript:
<script type="text/javascript">
window.parent.InjectIframeReview();
</script>
我似乎无法找出函数未正确触发的原因,您可以在此处看到它加载的完整网站:
网站JQuery(功能在387号线上): http://www.trampolinesshop.co.uk/acatalog/custom.js
没有评论的页面(源代码第902行的iframe): http://www.trampolinesshop.co.uk/acatalog/8ft_Skyhigh_Trampoline_and_Safety_Enclosure.html
加载的iframe(没有产品评论,只有javascript): http://www.trampolinesshop.co.uk/review/Review-Embed.php?code=3271d&prod_name=8ft%20Skyhigh%20Trampoline%20and%20Safety%20Enclosure
有评论的网页: http://www.trampolinesshop.co.uk/acatalog/8ft_Fun_Pink_Trampoline.html
加载的iframe(已审核,因此不使用javascript): http://www.trampolinesshop.co.uk/review/Review-Embed.php?code=3269&prod_name=8ft%20Skyhigh%20Pink%20Trampoline%20and%20Safety%20Enclosure
答案 0 :(得分:4)
Chrome security可能你正在使用chrome。如果您使用的是Chrome,则此问题可能仅影响本地服务器,因为您的Chrome会检查您的域。但是当您上传它时,它将起作用,因为您的域将与iframe域相同。所以现在只需在其他浏览器上查看它。 当您将其上传到实时时,此问题将得到解决。 Check this