提问人:Venelin 提问时间:12/6/2014 最后编辑:isherwoodVenelin 更新时间:7/23/2019 访问量:75776
触发 iframe [复制] 内的按钮单击
Trigger a button click inside an iframe [duplicate]
问:
这是 iframe 代码:
<div id="OutDiv" class="outerdiv">
<iframe src="http://beta.sportsdirect.bg/checkout/onepage/" id="InnerIframe" class="FrameCSS" scrolling="no"></iframe>
</div>
这是上面的 iframe 调用的按钮的 HTMl 代码:
<button type="button" id="SuperWebF1" title="Continue" class="button">Continue</button>
这是我用来在加载页面时触发按钮单击的jQuery函数:
$('#SuperWebF1').trigger( "click" );
但是只有当我将 jQuery 代码放在按钮的源代码中并且 iframe 使用脚本调用按钮时,它才会像这样工作。
我想创建一个事件,从 iframe 外部单击按钮。 可能吗?
提前致谢!
答:
28赞
Amit Garg
12/6/2014
#1
注意:如果 iframe 的 src 指向跨域页面,则 .contents() 不起作用。更多:跨域 iframe 问题和获取跨域 iframe 的 DOM 内容
//execute code after DOM is ready
$(function() {
//find iframe
let iframe = $('#main_iframe');
//find button inside iframe
let button = iframe.contents().find('#main_button');
//trigger button click
button.trigger("click");
});
<!--Add jQuery library-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
如果您需要在 iframe 中操作其他页面,请搜索官方 API 或 GET 参数。 示例:Youtube 嵌入视频、Google 地图嵌入 API
评论
9赞
Ken White
12/6/2014
仅代码回答而不解释为什么应考虑该代码在这里通常不可接受。你能编辑一下,解释为什么你觉得这回答了这个问题吗?
3赞
CodeOut
9/7/2016
对我有用
0赞
István Pálinkás
6/7/2017
你能提供浏览器支持或某种官方来源吗?
评论
.trigger()
.click(function...