перекрестный домен jQuery iframe сценарии

Я пытаюсь получить доступ к DOM iframe, который загружает внешний URL. Конечно то, что я отклонил "Разрешение для" ошибки, должной пересечь безопасность домена. Как я могу сделать эту работу? Я видел что-то сделанное с json (но я не могу получить строку json от своего внешнего источника), и что-то сделанное с постсообщением 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")
    });
    });



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

16
задан Mircea 21 June 2010 в 08:35
поделиться

1 ответ

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

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

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

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

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

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

signed.applets.codebase_principal_support

значение true в разделе about: config , чтобы это работало.

В Internet Explorer этого мира есть параметр, который называется примерно так разрешить междоменный доступ , глубоко скрытый на вкладке безопасность , который должен установить на включить .

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

chrome.exe --disable-web-security
27
ответ дан 30 November 2019 в 21:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: