我有一个iframe进行图片上传,给人一种错误的Ajax上传感。
此iframe的内容包含javascript,可检查各种内容并发送状态。几乎将其视为进度报告。无论如何,我的包含iframe的页面是显示数据的页面,但是我想要在iframe中更改父页面上的数据。这是我的代码:
<div id="iframe_response"></div>
<iframe style="border:none" src="someurl" width="100%" height="350px" id="iframe"></iframe>
这是我在iframe中的jQuery:
$('#iframe_response', "#iframe").append('this should go there but it\'s not...');
然而,它不会向该div写任何内容。我已经在document.ready上调用了它,但是唉......
我做错了什么?
答案 0 :(得分:6)
这是答案!开始时只是有点混乱但很容易!
假设同一origin policy不是问题,您可以使用parent.document访问元素并操纵它们。
演示:Here
iframe Outer:Here
内部iframe:Here
希望这会有所帮助,花一点时间为你解决这个问题,所以我很乐意支持我的答案!
干杯, 香农
答案 1 :(得分:6)
使用parent.document
代替window.parent.document
$(parent.document).find('#whatever')
答案 2 :(得分:1)
我遇到了同样的问题,上述解决方案(jquery)都没有为我工作。
经过一些试验和错误后,这对我有用:
(但要注意,这仅在父级也支持Jquery时才有效)
window.parent.$('#iframe_response').html('this should go there but it\'s not...');
答案 3 :(得分:0)
你应该试试这个
$(window.parent).find('#iframe_response').html('this should go there but it\'s not...');