У меня есть iframe с страницы анотера в другом домене:
Например:
<iframe id="myframe" src="http://stackoverflow.com/">
</iframe>
и в jQuery у меня есть следующее:
$(document).ready(function(){
$("#myframe").load(function(){
var obj = $("#myframe").contents().find('#hlogo');
div.append('<img src="http://www.my-domain.com/img/myimage.jpg" />');
});
});
Но это не добавление изображения. Что я могу сделать?
В этой скрипте я пытаюсь изменить изображение на что-то еще -Same проблема, разные источники.
Если вы хотите изменить атрибут src для #hlogo, вам нужно сделать так:
var iframe = $('<iframe>', {
id: 'pay-rent',
}).appendTo('body');
iframe.load(function(){
var obj = $('#pageHeaderLogo',iframe.contents());
console.log(obj);
obj.attr('src', 'http://www.firstchoicehousing.com/images/logo.png');
});
iframe.attr({
src:"http://wemanageproperties.securecafe.com/residentservices/apartmentsforrent/userlogin.asp"
});
http://jsfiddle.net/UYPTc/
Если iframe - это другой домен, вы не можете получить доступ к его содержимому из-за политики одинакового происхождения
Uncaught SecurityError: Не удалось прочитать свойство contentDocument из "HTMLIFrameElement": заблокировал кадр с источником " http://fiddle.jshell.net " от доступа к кадру с исходным кодом " http://wemanageproperties.reslisting.com ". Протоколы, домены и порты должны совпадать.
вы можете использовать функцию jQuery.contents()
docs: http://api.jquery.com/contents/
см. также Как получить доступ к содержимому iframe с помощью jQuery?