gpt4 book ai didi

javascript - 如何在弹出窗口中单击按钮

转载 作者:行者123 更新时间:2023-11-30 00:30:29 25 4
gpt4 key购买 nike

我的第一页上有按钮。

<button id="btm" onclick="window.open('page.htm', '_blank', 'toolbar=yes, scrollbars=yes, resizable=yes, top=500, left=500, width=400, height=400')">Button1</button>

我有另一个 page.htm,下面是 html

<button id="testbtn" onclick="window.open('http://www.ivikashjha.com', '_blank', 'toolbar=yes, scrollbars=yes, resizable=yes, top=500, left=500, width=400, height=400')">Button2</button>

我想在第一次点击按钮时打开网站 ivikasjha.com。实际上我想访问主父页面上弹出页面的控件。

最佳答案

同域

浏览器内测试(Firefox 35)似乎表明如果打开的窗口在同一个域内,则该页面有一些访问权限

var child = window.open( 'http://example.com' )
child.localStorage.setItem( 'hello', 'there' ) // Sets correctly
child.$( 'body' ).css( 'background', 'blue' ) // Access denied to '$'

不同域

然而,跨域测试似乎将可用接口(interface)限制为 location , parent , postMessage , 和其他几个

var child = window.open( 'http://other-domain.com' )
child.localStorage // cannot access

window.postMessage可供您使用。在两个选项卡之间来回发布消息并不是最简单的方法,但至少您可以告诉弹出窗口单击它自己的按钮。

如果失败,则两个页面在后台打开共享 websocket 并以这种方式进行通信没有任何限制。

外卖

在选项卡之间传播功能的最简单方法似乎是消息发布:

//Parent page
var childUrl = 'http://hello.example.com' )
var child = open( childUrl )
child.postMessage( 'click-button', childUrl )

//Child page
window.addEventListener( 'message', function( event ){
if( event.data === 'click-button' ){
$( '#my-button' ).click()
}
}, false )

关于javascript - 如何在弹出窗口中单击按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29757604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com