Я пытаюсь получить доступ к 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")
});
});
Что было бы самый легкий способ сделать эту работу.Спасибо
Невозможно заставить эту работу работать. Если только внешний домен, к которому вы пытаетесь получить доступ, не поддерживает такую процедуру, как 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