[英]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.