首页 > 解决方案 > 使用 JavaScript 删除 iframe 中的 HTML 元素

问题描述

我正在尝试从嵌入式 iframe(内联 iframe)中删除图像。虽然它有时可以工作,但有时它会因错误而失败。我在 Chrome 上运行此代码。这种行为很奇怪。我在几个网站上试过这个,我找不到任何原因。

我想知道为什么它有时会失败并且有时所有参数都不相同(我只是在控制台中执行它)。其次,如果可能,是否有替代解决方案?

$("#content_ifr").contents().find("img").remove();

有时出现的错误信息:

未捕获的类型错误:无法读取 null 的属性“内容”

如果有帮助,我正在尝试使用 JavaScript 从 WordPress 页面编辑器(经典)中删除图像和额外内容。

标签: javascriptjquerywordpressiframegoogle-chrome-extension

解决方案


原来我的 Chrome 扩展程序干扰了这个。我们试图在 WordPress 网站上使用 Chrome 扩展程序运行此脚本。

将这些行更改为此有效:

jQuery("#content_ifr").contents().find("img").remove();

正如@Jason Owens 指出的那样,上下文出于某种原因正在切换。我注意到使用 'jQuery' 而不是 $ 似乎有效。我认为这是因为 Chrome 扩展使用标准 jQuery 作为依赖项。但是,'$' 不起作用 WordPress 使用 noConflict 来避免使用 '$' 符号,而是使用 'jQuery'。


推荐阅读