![](/img/trans.png)
[英]How to focus on opened popup window from a new tab using JavaScript
[英]How do I use jQuery/JavaScript to open a Popup Window/Tab (ASPX Login Page) & then pass values to opened window/tab on DOM Ready Event of it?
當前,我們有兩個asp.net 2.x Web應用程序,我們需要執行以下功能:
我們希望從一個應用程序在新選項卡中自動登錄到另一個Web應用程序; 使用相同的瀏覽器實例/窗口。
因此,過程為:
使用第二個系統URL /登錄頁面打開新窗口/標簽頁等待彈出窗口/標簽頁加載(DOM准備好了嗎?)
OnPopupDomReady {獲取用戶名,密碼,PIN控件(jQuery選擇器)並在代碼中填充,然后單擊“登錄”按鈕(全部以編程方式)。 }
我目前正在使用JavaScript打開窗口,如下所示:
<script type="text/javascript">
$(document).ready(function () {
$('a[rel="external"]').click(function ()
{
window.open($(this).attr('href'));
return false;
});
});
</script>
如果可能,我想使用jQuery鏈接功能來擴展上述方法,以便可以將DOM Ready事件附加到彈出頁面,然后使用該事件在彈出頁面后面的代碼上調用方法以自動登錄。 與此類似(注意:以下代碼示例不起作用,在這里嘗試並幫助說明我們正在嘗試實現的目標)...
<script type="text/javascript">
$(document).ready(function () {
$('a[rel="external"]').click(function () {
window.open($(this).attr('href').ready(function ()
{
// Use JavaScript (Pref. jQuery Partial Control Name Selectors) To Populate Username/Password TextBoxes & Click Login Button.
})
});
});
</script>
我們的體系結構如下:我們都有兩種產品的源代碼(ASP.NET WebSite),它們在不同的應用程序下運行。 IIS中的池。
當使用window.open
打開窗口時,新窗口將獲得一個名為window.opener
的屬性,該屬性引用父窗口。 因此,子窗口中的代碼可以調用父窗口中的函數,例如:
在窗口A中:
// Declared at global scope => ends up as property on `window`
function phoneHome(str) {
alert(str);
}
在窗口B(子窗口)中:
$.ready(function() {
if (window.opener && window.opener.phoneHome) {
window.opener.phoneHome("Hi, Ma!");
}
});
(在子窗口中使用$.ready
要求子窗口已加載jQuery。)
上面我所做的就是讓子窗口在父窗口中觸發一條帶有消息的函數,但是函數調用當然可以攜帶您想要的任何數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.