我有一个带有iframe的页面,页面加载时没有源代码,只使用这样的硬编码html:
<iframe id="theframe" src="">
<html>
<body>
<form name="theform" action="http://domainB.com/new" method="POST">
<input type="text" />
</form>
</body>
</html>
</iframe>
然后使用
在jQuery中提交表单$('#theform').submit();
这会导致iframe的源从无(同一域)更改为发送和存储表单数据的domainB.com。
然后我延迟1秒以显示成功消息,然后希望通过将源更改为空(同一域)并附加原始表单来将帧设置回原始内容,如下所示:
$('iframe').attr('src', '');
$('iframe').contents().find('body').empty();
$('iframe').contents().find('body').append('<form name="theform" action="http://domainB.com/new" method="POST"><input type="text" /></form>');
然而它不起作用...这个跨站点脚本虽然我没有尝试访问domainB的内部内容,但我只是将iframe的src设置回domainA ??
如果是这样,一旦将src更改为其他域,是否还要设置src?
(正如我写的最后一句话,我意识到我可以删除iframe并用新的替换它,我想?,但我仍然想知道更改源是否被视为跨站点,这就是为什么它是不工作?)
答案 0 :(得分:2)
这只会返回true
或false
。
$('iframe').attr('src') == '';
也许你正在寻找这个:
$('iframe').attr('src', '');