在 iframe 中运行 Javascript 命令 [重复]

Posted

技术标签:

【中文标题】在 iframe 中运行 Javascript 命令 [重复]【英文标题】:Run a Javascript command into a iframe [duplicate] 【发布时间】:2020-06-07 06:22:30 【问题描述】:

我有一个在 iframe 中包含另一个页面的 html 页面,如下所示:

<!DOCTYPE html>
<html>
<head>
    <style>
        iframewidth:100vw;height:100vh;border:0
    </style>
    <script>
        function reload()setTimeout(function()document.body.firstElementChild.src+="",reload(),300000)reload();
    </script>
</head>
<body>
<iframe id="mappa" src="*********"></iframe>
</body>
</html>

现在我想在这个 iframe 中运行一个命令,像这样:$(".SimpleSliderDecrementButton").trigger("click");

我怎样才能让这个命令运行到 iframe 中?

【问题讨论】:

这能回答你的问题吗? Invoking javascript code in an iframe from the parent page 【参考方案1】:

您可以尝试使用发射。 $(youriframe).emit('click') 或 dispatchEvent('click')。您还可以查看有关发射事件的规范。

【讨论】:

【参考方案2】:

https://codesandbox.io/s/ancient-shadow-9b4yk

您可以使用iframe.contentDocument 来访问iframe 内的.SimpleSliderDecrementButton.click() 而不是.trigger()

const iframe = document.querySelector("iframe");
$(iframe.contentDocument).find(".SimpleSliderDecrementButton").click();

【讨论】:

以上是关于在 iframe 中运行 Javascript 命令 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在父网页的 iframe 中运行 JavaScript

对特定 iframe 使用 javascript 书签 [重复]

跨子域 iframe 和 JavaScript

使用 JavaScript 删除 iframe 中的 HTML 元素

javascript-如何检测 iframe 中的滚动事件?

javascript 如何获取iframe里面的内容?