ここで初めて。Javascript を使用して、これらの機能を使用して何かをコーディングしようとしています。
まず、リンクがクリックされ、既存のポップアップ ウィンドウがない場合、ポップアップ ウィンドウが作成され、そのリンクに移動します。
ただし、2 番目のリンクがクリックされ、既存のポップアップ ウィンドウがある場合は、 AJAX 関数が実行されます。そのリンクには移動しません。
ただし、別のリンクがクリックされ、ポップアップ ウィンドウが閉じられた場合は、ウィンドウが再び開きます (そのリンクに移動します)。
これを解決できる唯一の方法は、グローバル変数を使用することですが、うまくいきません。誰か助けてくれませんか?ありがとう!
これが私のjsfiddleです
HTML
<a href="javascript:;" onclick="javascript:displayWindow=openwindowPreview(1, displayWindow); return false">1</a>
<br/>
<a href="javascript:;" onclick="javascript:displayWindow=openwindowPreview(4, displayWindow); return false">4</a>
Javascript
var displayWindow = null;
var test = 'test';
function openwindowPreview(id, winObject) {
// check if the window already exists
if (winObject != null) {
// the window has already been created, but did the user close it?
// if so, then reopen it. Otherwise make it the active window.
if (!winObject.closed) {
winObject.focus();
return winObject;
}
}
if (test != 'test') {
if (winObject.closed) {
test = 'test';
} else {
alert('ajax');
}
}
// if we get here, then the window hasn't been created yet, or it
// was closed by the user.
if (test == 'test') {
var urlDisplayID= "file.php?ID=" + id;
window.open(urlDisplayID, 'width=' + screen.width, 'height=' + screen.height);
test = 'tested';
}
}
基本的に、ウィンドウの 1 つのインスタンスのみを一度に許可し、最初のインスタンスのみを表示し、他のインスタンス (パラメーターのために異なる URL) は AJAX 経由でサーバーに送信されます。