[英]Listen to event in another window
我使用var openedWindow = window.open(...)
創建了一個窗口。 我有一個應該在新窗口中監聽click
事件的按鈕的函數,但它永遠不會觸發。
每當我單擊btSearch
按鈕時,它都應打開另一個窗口並監聽#submitButton
click事件。
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');
});
});
}
瀏覽器中的每個窗口都是“隔離的”,也就是說,您無法以編程方式影響另一個窗口。
只有管理所有這些選項卡的瀏覽器才能完成此操作。 或者,也許是通過為瀏覽器安裝的擴展程序,我懷疑那些程序有能力在正在運行的頁面中注入內容
編輯:
現在,由於我無法直接以任何方式完成此操作,因此您可以:
因此,您將需要花很長的時間在PageA-> BackEnd-> PageB周圍轉移值。
我非常自以為是地說,僅憑普通頁面就無法影響/讀取其他選項卡。 在用戶同意通過安裝擴展程序授予權限之后,您需要更高層的東西,例如瀏覽器本身,或具有注入/檢查頁面功能的擴展程序。
我認為可以解決您的需求的唯一解決方案是使用套接字
但是為此,您顯然需要某種后端。
您可以通過window.opener.postMessage()
函數從打開的窗口向打開的窗口發送數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.