2012-04-13 5 views
2

私はしばらくこのことを理解しようとしていましたが、私がハンドルを開いたときにハンドルを参照しようとすると、ハンドルは常に定義されていません。Google Chrome Userscriptsリファレンスwindow.open

これはuserscriptで使用され、ここで問題になっているのスニペットでされていることは注目に値する:

var donateWindow; 

// ###################################################################### 
// # Show the donation popup and open a window to paypal site 
// ###################################################################### 
function showDonateWindow() 
{ 
    if (window.confirm("Question here")) 
    { 
     if (! (typeof(donateWindow) == 'undefined' || donateWindow.closed)) window.donateWindow.close(); 
     window.donateWindow = window.open("http://somesite.com/","tabName"); 
    } 
} 

この上の任意のヘルプは非常に高く評価されるだろう。私が何をしても、window.openは "undefined"という値を返します。

私の目標は、ポップアップを表示することですが、すでに開いている場合は、古いものを置き換える必要があります。これはFFで期待どおりに動作しますが、私の人生ではChromeで動かすことはできません。

答えて

-1

なぜ新しいウィンドウを開く前に既存のウィンドウを閉じようとしていますか?あなたはそれをする必要はありません。

あなたがそれを開くときに同じ名前を使用するのであれば、存在する場合は既存の名前を置き換えます。

これは、開いているウィンドウがあるかどうかを調べる必要がないことを意味します。

function showDonateWindow() 
{ 
    if (window.confirm("Question here")) 
    { 
     window.open("http://somesite.com/","donateWindowName"); 
    } 
} 
関連する問題