2016-07-20 5 views
-1

ポップアップウィンドウを開くポップアップは、ページ上のデータを処理してクエリーストリングのパラメータに応じてGoogleマップを作成し、マップを作成した後、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個のウィンドウのタイムアウトを取得しています。どのように同じページの別のウィンドウインスタンスの別のタイマーをリセットするには?

+0

var windowObjectReference = window.open(...)を試しましたか? windowObjectReference.close()を呼び出すことができます –

+0

C#でそれを使用する方法? –

+0

まだ同じ問題...他の方法か??? –

答えて

0

タイマーは同じ起動スクリプトClientScript.RegisterStartupScriptを使用して開かれたすべてのウィンドウは、それらが同じ時間にオープンし、2000ミリ秒で同じ間隔で閉じられるように理由

setInterval(function() { window.close() }, 2000); 

の同じ時間にウィンドウを閉じます。要件に応じて、別々にウィンドウを開くか別のイベントでウィンドウを閉じる必要があります。現在、あなたの必要条件は

です。タイマーを使用して終了したいです(imgを正常に作成/保存した後のみ)。

"imgの作成/保存に成功しました"という表示されたコードにはトリガーがないため、無効です。

+0

「窓を別に開く必要がある」とはどういう意味ですか? ポップアップとして異なる複数のインスタンスを持つ同じWebページを開いています... –

+0

同時に複数の異なるインスタンスを持つ同じWebページを開いていますが、すべてのインスタンスが同じスクリプトを持っていて、2000ミリ秒で 'window.close'と同じスクリプトを持っています - なぜ、同じ時間にすべてのウィンドウを閉じるよりも別の結果が期待されますか? – Alex

+0

becoz私はウィンドウを2秒後に自動的にウィンドウを閉じたいと思っています。Googleマップをレンダリングし、必要なサイズでイメージを保存するのに時間がかかる...各ウィンドウがイメージを処理し、指定されたサイズで保存するのに十分な時間が必要ですバイナリ... 現在の状況では、すべてのウィンドウタイムアウトが同時に発生し、イメージが正しく保存されていません... –

関連する問題