簡體   English   中英

在打開彈出窗口之前關閉彈出窗口

[英]Close Popup Before Opening Popup

我正在嘗試改進我在將近 15 年前使用免費“互聯網代碼”構建的舊日歷頁面。 當七列六行日歷顯示時,將鼠標光標移動到顯示的任何一天上會顯示“更多信息”鏈接,單擊該鏈接會彈出一個新窗口。 有效的JS代碼:

<script type="text/javascript">
// Popup window code
function newPopup(url,striing) {
    popupWindow = window.open(url,striing)
}
</script>

url 看起來像 '2022-11-27.html' 'striing' 通過點擊鏈接傳遞,看起來像:

'MyWindow','height=70,width=600, left=90,top=90,resizable=yes,menubar=no,scrollbars=yes, toolbar=no,menubar=no, location=no,directories=no,status =否');

每個日期鏈接指向一個單獨的 HTML 文件,該文件將出現在彈出窗口中,並且“高度”是單獨設置的,以便彈出窗口將包含 html 頁面的整個文本,沒有滾動條或多余的空白。 發生的情況是,如果用戶未使用鼠標手動關閉“MyWindow”,則下一次調用日期信息將在同一窗口中打開。 如果已經打開的“MyWindow”設置為一小段文本,新的 html 文件將忽略“height=400”參數並加載到現在太短的需要滾動條的窗口中。 如果已經打開的“我的窗口”被設置為高而新的 html 文件很短,它將在底部留下帶有漂亮空白的高窗口。 我非常想做其中一件事情——按偏好順序顯示——

  1. 對窗口進行編碼,使其自動適應 html 文件中的文本而不指定高度,如果它已經打開,向上或向下調整以適應新文件。
  2. 在打開具有正確尺寸的新調用的“MyWindow”之前,關閉已經打開的尺寸不正確的“MyWindow”。 兩者都可以嗎?

阿黛萬

我試過

<script type="text/javascript">
// Popup window code
function newPopup(url,striing) {
    popupWindow = window.close('MyWindow');
                      window.open(url,'MyWindow',striing)
}
</script>

但它甚至看起來都沒有嘗試工作。

window.close不接受窗口名稱作為參數。

相反,將新打開的窗口存儲在一個變量中。 然后,在創建新窗口時,關閉與該變量關聯的窗口,然后重新分配它。

let prevPopup;
function newPopup(url, string) {
    prevPopup?.close();
    prevPopup = window.open(url,'MyWindow',string)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM