Jquery - Добавление функции для элемента в Iframe? - PullRequest
0 голосов
/ 02 октября 2009

Я пробовал много способов, но ни один из них не работал. Например, что работает:

         $('#iframeid').ready( 
        function()
        {
        alert('Hello');
        }
    );

, но следующие не (предупреждает привет, но не фокус.)

     $('a:link').click(
     function()
     {
        alert('Hello'); 
        var iframeRef = document.getElementById("iframeid");
        $(iframeRef).focus();
    $(iframeRef).contents().find("#smthing").focus(); 
     }); 

Помогите мне разобраться, пожалуйста.

Ответы [ 3 ]

0 голосов
/ 02 октября 2009

В целях безопасности вы не можете получить доступ к другим доменам в фреймах с помощью Javascript. В некоторых браузерах могут даже быть проблемы с iframes из того же домена.

Если возможно, я бы по возможности избегал использования фреймов. Если у вас есть HTML-контент, вы можете добавить его в строку с div с overflow:auto, чтобы добиться того же эффекта.

В качестве примечания, почему вы используете document.getElementById("iframeid")? Вы должны знать, что вы можете сделать $('#iframeid') в jQuery, поскольку вы делаете это на следующей строке.

0 голосов
/ 03 октября 2009

Политика Тот же источник ограничивает доступ к другому домену, загруженному в свойства iframes из javascript.

0 голосов
/ 02 октября 2009

Что вы пытаетесь сделать, это получить доступ к другому документу. Большинство (если не все) браузеры блокируют это, так как это проблема безопасности. Загрузка сценариев и чтение содержимого других сайтов - это ... хорошо ... зло.

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