JQuery访问iframe元素

时间:2011-07-22 05:23:30

标签: jquery iframe

几分钟前Google推出了一个新徽标,而且我的计算机上的徽标非常滞后。 我想继续使用当前的谷歌风格,但没有徽标。 logo元素的当前id是'hplogo'。 所以我在iframe中创建了一个包含google的网页,我想使用jquery删除该元素。

<head>
        <script src="jquery.js" type="text/javascript"></script>
        <script type="text/javascript">
        $(document).ready(function(){
            $("#google").height($(window).height());

            setTimeout(function(){
                $("#google").contents().find("#hplogo").remove());
            }, 3000);
        });
        </script>

</head>
<body style="margin:0px;">
<iframe id="google" style="border:none;width:100%;overflow:auto;" src="http://www.google.com/">
</iframe>
</body>
</html>

我认为它不起作用,因为它不是同一个域。有办法解决这个问题吗?

4 个答案:

答案 0 :(得分:0)

正如迈克尔所说,你的问题的答案是否定的。当我想用脚本“邀请所有朋友”并且facebook开始使用iframe时,我遇到了同样的问题。看看这个问题Check all checkboxes inside an iframe (when inviting guests to a facebook event)。我使用greasemonkey解决了我的问题,它比标准浏览更少限制,所以你可以尝试检查it

答案 1 :(得分:0)

你真的不能。除非你绝对必须,否则不要使用iframe。如果你想将一些远程内容拉入你的网站,你应该考虑使用ajax,然后你可以根据需要修改DOM。

答案 2 :(得分:0)

通常在执行此类操作时,请使用类似 -

的内容
$('iframe').contents().find('#yourElement')

但是,考虑到安全问题,当iframe加载第三方域时,.contents() .maps()等功能会受到限制。在这种情况下,Google不是您的本地域名,因此无法实现您想要实现的目标。 希望这有帮助!

答案 3 :(得分:0)

由于安全问题,您无法使用iframe执行此操作。但是你可以使用chrome扩展或其他提供更少限制的东西。使用Chrome扩展程序,您可以在google.com页面中插入所需的任何脚本以删除徽标。