为iframe执行JS

时间:2011-09-28 22:59:04

标签: javascript jquery dom

  

可能重复:
  Invoking javascript in iframe from parent page

我想要做的是 - 加载一个带有iframe网站的html页面,然后删除该网站的一个元素,我们称之为'#test'

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://gmpg.org/xfn/11">

</head>
<body>
    <iframe src="http://www.google.com"></iframe>
</body>
</html>

任何人都有任何想法我会怎么做?似乎无法正常执行.remove()时尚......

谢谢!

2 个答案:

答案 0 :(得分:4)

如果您在同一个域,则可以在iframe中使用window.parent来加载脚本和所需的元素,并使用eval该脚本删除iframe本身< / p>

内幕窗口的代码,也就是iframe:

var myscript = document.createElement('script');
myscript.innerHTML = "var removeIframe = function(){document.body.removeChild(document.body.querySelector('iframe'));}"
window.parent.document.body.appendChild(myscript);
window.parent.eval(removeIframe);

答案 1 :(得分:1)

使用.contents()

$('iframe').contents().find('#test').remove();