使用jQuery删除iframe中的body标签

时间:2015-10-26 22:38:50

标签: javascript jquery wordpress iframe same-origin-policy

我想从包含在WooCommerce(http://www.shapur.com/product-category/fp-journe/)中的prettyPhoto灯箱插件中的iframe中删除不必要的标头。当您单击该页面底部的单个产品按钮时,它应该删除iframe中包含的body标签。 iframe符合相同的原始政策,因此不是它。

我在同一个域上创建了一个测试页面,效果很好:http://www.shapur.com/test.php

灯箱有冲突吗?我只是不明白。感谢任何帮助。

以下是测试页面的代码:

<!DOCTYPE html>
<html>
<body>

<iframe id="myframe" src="http://shapur.com/index.php"></iframe>

<p>Click the button to change the style of the body tag contained in the iframe.</p>

<button onclick="myFunction()">Try it</button>

<script>
    function myFunction() {
        var x = document.getElementById("myframe");
        var y = x.contentDocument;
        y.body.style.display = "none";
}
</script>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

由于它来自同一个来源,为什么不使用jQuery load()函数:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<script type="text/javascript">
    function myFunction() {
       $(".myDiv").load("/index.php",function(data){
          $(data).find('body').css("display","none");
       });
    }
</script>

并且空了:

<div class="myDiv"></div>

通过这种方式,您可以更轻松地使用代码。