我有一個頁面打開一個彈出窗口,彈出窗口創建谷歌地圖取決於查詢字符串參數通過處理頁面上的數據和創建地圖後,它使用webmethod/ajax保存到指定位置,彈出窗口使用settimeout函數自動關閉。無法使用JavaScript爲不同的窗口實例設置計時器?
這隻適用於單個請求/單個彈出窗口。
我有很多行說10行我打開每行的彈出並希望關閉使用計時器(只有在成功創建/保存img後)。
MainPage.aspx
//someloop here for iterating rows
foreach(..)
{
CallMap(packageid, latitudelangitude);
Thread.Sleep(1000);
}
int i = 1;
protected void CallMap(string packageid, string latitudelangitude)
{
string url = "http://localhost:58715/mymap.aspx?pkg=" + packageid + "&data=" + latitudelangitude;// +"&t=" + i;
string fullURL = "window.open('" + url + "', '_blank', 'height=600,width=1000,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes,titlebar=no');";
ClientScript.RegisterStartupScript(this.GetType(),
"newWindow" + i++, String.Format("<script>" + fullURL + "</script>", string.Empty));
}
mymap.aspx
$(document).ready(function() {
initialize();
setInterval(function() { window.close() }, 2000);
});
這裏,計時器越來越超時在同一時間全部10個窗口。如何爲同一頁面的不同窗口實例重置不同的計時器?
你試過用var windowObjectReference = window.open(...)?那麼你可以調用windowObjectReference.close() –
如何在c#中使用它? –
仍然是同樣的問題...任何其他方式? –