我有一个使用javascript的files:
"/usr/local/etc/php/conf.d/project.ini":
mode: "000644"
owner: root
group: root
content: |
opcache.validate_timestamps = off
函数动态制作的页面。这将打开一个URL为window.open();
的新窗口,然后将其余代码注入页面。我正在尝试检测用户是否刷新页面,然后在稍后的脚本中告诉开启者任务已完成(因此该页面不是静态的,它需要与另一个打开的选项卡进行通信)< / p>
问题是,似乎没有在URL的末尾设置哈希值。我甚至不确定它是否可能这样做,因为它不是一个真正的URL。
about:blank
我曾经使用过if (document.location.hash=="#one") {
alert('Good Job!')
} else {
document.onunload=function() {
window.location.href = window.location.href+encodeURIComponent("#one");
}
}
,因为我听说某个地方在非字母数字的情况下这样做很好。我不确定这是不是问题,或者我是否应该使用encodeURIComponent()
,但似乎都不起作用。
任何解决方案?
答案 0 :(得分:0)
encodeURIComponent
将具有特殊含义的字符(例如#
)转换为不具有该特殊含义的编码版本,这就是问题所在(因为你需要特殊含义“启动片段标识符”)。
one
没有特殊字符,因此不需要编码。如果您正在接受输入并且您不知道它是否包含特殊字符,那么您将从编码中排除#。
window.location.href + "#" + encodeURIComponent(some_string_here);