JQuery доступ к элементам iframe - PullRequest
3 голосов
/ 22 июля 2011

Google выпустил новый логотип пару минут назад, и он очень сильно зависает на моем компьютере.Я хочу продолжать использовать текущий стиль Google, но без логотипа.Текущий идентификатор элемента логотипа - «hplogo».Поэтому я сделал веб-страницу, содержащую Google в iframe, и я хочу удалить этот элемент с помощью 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 голосов
/ 10 декабря 2015

Вы не можете сделать это с помощью iframe из-за проблем с безопасностью. Но вы можете сделать это с расширением Chrome или чем-то еще, что обеспечивает меньше ограничений. Используя расширение chrome, вы можете добавить любой скрипт на страницы google.com, чтобы удалить логотип.

0 голосов
/ 04 июня 2014

Вы действительно не можете.Не используйте фреймы iframe, если вам это абсолютно не нужно.Если вы хотите добавить удаленный контент на свой веб-сайт, вам следует рассмотреть возможность использования ajax, тогда вы можете изменять DOM столько раз, сколько захотите.

0 голосов
/ 04 июля 2014

Обычно, когда вы выполняете такую ​​операцию, вы используете что-то вроде -

$('iframe').contents().find('#yourElement')

Но, учитывая проблемы безопасности, такие функции как .contents() .maps() ограничены, когда iframe загружает сторонний домен,В этом случае Google не является вашим локальным доменом, и, следовательно, то, чего вы пытаетесь достичь, не может быть достигнуто.Надеюсь, это поможет!

0 голосов
/ 22 июля 2011

Как заявил Майкл, ответ на ваш вопрос - нет. У меня была такая же проблема, когда я хотел «пригласить всех друзей» с помощью скрипта, и Facebook начал использовать iframes. Посмотрите на этот вопрос Установите все флажки внутри iframe (при приглашении гостей на событие в Facebook) . Я решил свою проблему с помощью greasemonkey, который имеет гораздо меньше ограничений, чем стандартный просмотр, поэтому вы можете попробовать проверить it

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...