Подтвердить что ты не робот

Скрипт jQuery для междоменного iframe

Я пытаюсь получить доступ к DOM iframe, который загружает внешний URL. Конечно, я получаю ошибку "Разрешения на отказ" из-за безопасности междоменной безопасности. Как я могу сделать эту работу? Я видел что-то с json (но я не могу получить строку json из моего внешнего источника) и что-то сделано с postmessage HTML5.

вы можете видеть это вживую на: http://jsfiddle.net/QPBvJ/

Код:

    $(document).ready(function(){
     $('#get').live('click', function() {

        var currentIFrame = $('#frameDemo');
        currentIFrame.contents().find("a").css("background-color","#BADA55");

        alert ("done")
    });
    });

<iframe src="http://api.jquery.com/" width="80%" height="600" id='frameDemo'></iframe>
<button id="get">Get</button>

Каким будет самый простой способ сделать эту работу. Спасибо вам

4b9b3361

Ответ 1

Невозможно выполнить эту работу. Если внешний домен, к которому вы пытаетесь получить доступ, поддерживает процедуру, подобную CORS, JSONP или postMessage.

Есть несколько исключений (как всегда):

Если вы имеете дело с WebApp, например, вы можете сообщить своим пользователям, что они должны предоставить доступ к cross-domain-calls.

В Gecko/Firefox, например, вы можете вызвать

netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead')

который позволяет браузеру получать доступ к иностранным доменам через ajax/iframes. В этом случае пользователь должен установить

signed.applets.codebase_principal_support

to true в about:config, чтобы сделать эту работу.

В Internet Explorers этого мира есть настройка, называемая так, как allow cross-domain access, глубоко скрытая на вкладке security, которая должна быть установлена ​​на enable.

Chrome разрешает междоменные вызовы с аргументом командной строки:

chrome.exe --disable-web-security