jq如何修改iframe内元素的样式

新手上路,请多包涵

网站有pc和移动两个版本,其中有一段是使用iframe加载外部的页面,PC版样式没什么问题,但移动版看看着样式很差,需要修改iframe里的样式,查了一些方法,但都没有起到作用

<iframe src ="http://vip.iquanzhi.vip" id="cha" width="100%" height="950px" onload="getIframeDom()"  style="border-width: 0;">
                    </iframe>

<script>
    function getIframeDom(){
    // 获取iframe的test元素
        $("#cha").contents().find("h1").css('color','red');                            
    }
</script>

报错信息,(http://www.quanzhi.com是我在...
图片描述

参考链接 http://www.jb51.net/article/7... ,前面按照这个链接上面的几种方法都试过,报的错基本相同

阅读 8.1k
2 个回答

之前看了一个关于iframe跨域传递信息的问题,根据你的报错信息,你的iframe链接的地址http://vip.iquanzhi.viphttp://www.quanzhi.com 不是同一个域的domain。浏览器对于访问另一个域的iframe会有限制。
跨域的iframe可以通过H5的postMessage方法传递信息,可以参考:postMessage处理iframe跨域问题,可以在iframe子页面的'on message'事件改变样式。

从报错看,你这个跨域了,你现在的办法没有权限修改iframe内的内容啊。除非iframe的内容也是在一个域中还有可能。
你只能通过其他途径去改变,活着说导致改变、触发改变。

推荐问题
宣传栏