【问题标题】:Trigger a button click from the parent that exists within an Iframe从存在于 iframe 中的父级触发按钮单击
【发布时间】:2018-11-24 07:50:13
【问题描述】:

我在 iframe 中的按钮有以下路径,即:

div.iframe-container > iframe#builder-frame > html > body > div#header > ul.header-toolbar.hide > li > span.deploy-button-group.button-group > a#btn-deploy.deploy-button

使用上述路径,我正在尝试使用 jQuery 访问 a#btn-deploy.deploy-button,以便在我的 iframe 中触发此按钮的点击事件。

我不确定如何使用 jQuery 来实现这一点,以便在我的 javascript 代码中从父窗口访问此按钮。

我尝试了以下但无济于事,即:

$('#builder-frame').contents().find('#btn-deploy').trigger("click");

我知道这可能是重复的,但它实际上是访问我需要帮助的 iframe 按钮的路径。

【问题讨论】:

标签: javascript jquery html iframe


【解决方案1】:

为确保您的 iframe 已加载,您应该使用 on load 事件。

然后,要选择按钮,您不必编写整个路径。尤其是当它有一个应该是唯一的 id 时。

您的代码应该类似于:

$("#builder-frame").on("load", function(){
  $(this).contents().find('#btn-deploy').trigger("click");
});

【讨论】:

    【解决方案2】:

    我建议使用纯 JavaScript。

    如果您的 iframe 的 id 是#builder-frame,您可以使用:

    document.querySelector('#builder-frame').contentWindow.document.querySelector('#btn-deploy').click()
    

    【讨论】:

    • 我认为这行不通,但也许document.querySelector('#builder-frame').contentWindow.querySelector('#btn-deploy').click()
    猜你喜欢
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 2018-10-01
    • 2016-06-16
    相关资源
    最近更新 更多