我使用var openedWindow = window.open(...)
创建了一个窗口。
我有一个函数应该在新窗口中听一个按钮click
事件,但它永远不会触发。
每当我点击btSearch
按钮时,它都会打开另一个窗口并听取#submitButton
点击事件。
btSearch.Attributes["onclick"] = $@"
var openedWindow = window.open(myUrl, "", "toolbar=no,menubar=no,personalbar=no,width=650,height=399,scrollbars=yes,resizable=yes");
window.onModalExit(openedWindow);";
功能是aspx
文件
function onModalExit(modalWindow) {
$('#submitButton', modalWindow.document).ready(function () {
modalWindow.document.getElementById('submitButton').addEventListener('click', function () {
console.log('RETURNED CORRECTLY');
alert('Now');
});
});
}
答案 0 :(得分:0)
broswer中的每个窗口都是“孤立的”,即您无法以编程方式影响其他窗口。
只能由管理所有这些标签的浏览器来完成。或者也许是通过已安装的浏览器扩展,我怀疑那些有能力在运行的页面中注入东西
编辑:
既然不能以我所知的任何方式直接完成,你可以:
因此,您将通过在PageA - >周围花费很长时间来转移价值。 BackEnd - >网页B
我非常坦率地说,你不能仅通过普通页面来影响/阅读其他标签。在用户同意通过安装扩展程序授予权限后,您需要更高层的内容,例如浏览器本身,或者能够注入/检查页面的扩展。
答案 1 :(得分:0)
我认为解决您的要求的唯一解决方案是使用Sockets
但是为此,你显然需要某种后端。
答案 2 :(得分:0)
您可以通过window.opener.postMessage()
函数将数据从打开的窗口发送到打开的窗口。