$("元素").remove();在 iframe 中使用 jquery [重复]
Posted
技术标签:
【中文标题】$("元素").remove();在 iframe 中使用 jquery [重复]【英文标题】:$("element").remove(); in iframe using jquery [duplicate] 【发布时间】:2017-04-21 09:39:04 【问题描述】:这是一个示例,我正在尝试运行以删除 iframe 中具有类“location_description”的 div 元素,但它不起作用。有什么解决办法吗?
HTML
<div id="kk">
<iframe id = "weatherFrame" src="https://www.meteoblue.com/el/%CE%BA%CE%B1%CE%B9%CF%81%CF%8C%CF%82/widget/daily?geoloc=detect&days=4&tempunit=CELSIUS&windunit=KILOMETER_PER_HOUR&coloured=coloured&pictoicon=1&maxtemperature=1&mintemperature=1&layout=light" frameborder="0" scrolling="NO" allowtransparency="true" sandbox="allow-same-origin allow-scripts allow-popups" class = "weatherFrame" style = "width: 60%;height: 100%;"></iframe>
<div>
<a href="https://www.meteoblue.com/el/%CE%BA%CE%B1%CE%B9%CF%81%CF%8C%CF%82/%CF%80%CF%81%CF%8C%CE%B3%CE%BD%CF%89%CF%83%CE%B7/%CE%B5%CE%B2%CE%B4%CE%BF%CE%BC%CE%AC%CE%B4%CE%B1?utm_source=weather_widget&utm_medium=linkus&utm_content=daily&utm_campaign=Weather%2BWidget" target="_blank"></a>
</div>
</div>
jQuery(<body>
结尾)
$('#weatherFrame').load(function()
alert("in");
$("location_description").remove();
);
【问题讨论】:
iframe 内容和主页是否在同一个域中?location_description
在哪里?
【参考方案1】:
如果 iframe 的域与父页面的域不同,则由于same origin policy,您将无法操作其内容
如果它们是不同的域,但您可以控制其内容(也就是说,您可以向其中添加代码),您可以使用 Postmessaging 来做您想做的事情。只需在 iframe 的内容中添加一个侦听器,它会告诉它何时触发此更改。
通过查看域,但我想这不是您的页面,因此您无能为力
【讨论】:
【参考方案2】:如果你想通过它的类删除某些东西,使用 jquery,那么这将是你的声明:
$(".location_description").remove();
在 iframe 中,您无法进行此类操作。 你可以做一些事情如下
iframe.contentWindow.postMessage('Hello ');
【讨论】:
以上是关于$("元素").remove();在 iframe 中使用 jquery [重复]的主要内容,如果未能解决你的问题,请参考以下文章