簡體   English   中英

設置使用window.open()打開的空白頁的哈希

[英]Set hash of blank page opened with window.open()

我有一個頁面是使用javascript的window.open();動態創建的window.open(); 功能。 這將打開一個新的URL為about:blank窗口,然后將其余代碼注入頁面。 我正在嘗試檢測用戶是否刷新頁面,然后在以后的腳本中告訴啟動器任務已完成(因此,該頁面不是靜態頁面,它需要與另一個打開的選項卡進行通信)

問題是,似乎沒有在URL末尾設置哈希值。 我什至不知道是否有可能這樣做,因為它不是實際的URL。

if (document.location.hash=="#one") {
    alert('Good Job!')
} else {
    document.onunload=function() {
        window.location.href = window.location.href+encodeURIComponent("#one");
    }
 }

我之所以使用encodeURIComponent()是因為我聽說某處是非字母數字的良好做法。 我不確定這是否是問題,還是應該使用href=#one但都沒有用。

有什么辦法嗎?

encodeURIComponent將URL中具有特殊含義的字符(例如# )轉換為沒有特殊含義的編碼版本,因此這就是問題所在(因為您需要特殊含義“啟動片段標識符”)。

one沒有特殊字符,因此不需要編碼。 如果您正在輸入,並且不知道其中是否包含特殊字符,則可以從編碼中排除#。

window.location.href + "#" + encodeURIComponent(some_string_here);

暫無
暫無

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

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