我在另一个域中的anoter页面中有一个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" />');
});
});
但它没有添加图像。我该怎么办?
在这个fiddle中,我试图将图像更改为其他内容 - 同样的问题,不同来源。
答案 0 :(得分:1)
如果你想改变#hlogo的src属性,你需要这样做:
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是不同的域,则由于Same-origin policy
Uncaught SecurityError:无法从'HTMLIFrameElement'中读取'contentDocument'属性:阻止具有原点“http://fiddle.jshell.net”的框架访问具有原点“http://wemanageproperties.reslisting.com”的框架。协议,域和端口必须匹配。
答案 1 :(得分:-1)
你可以使用jQuery.contents()函数