正在为iframe执行JS

Executing JS for iframe

本文关键字:执行 JS iframe      更新时间:2023-09-26

可能重复:
从父页面调用iframe中的javascript

我想做的是加载一个带有iframe'd网站的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((方式进行。。。

谢谢!

如果您在同一域中,您可以在iframe中使用window.parent加载脚本和所需元素,并使用eval删除iframe本身

内部窗口的代码,也就是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);

使用.contents()

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