我试图调用JavaScript函数时,#是存在于URL。我知道正常的行为是导航/滚动到特定的标签。但是找不到如何调用JavaScript函数。
下面的例子很接近,但没有解决我的问题。
URL中#的含义是什么,我如何使用它?
您可能能够利用hashchange事件来触发该函数,假设您不只是想继续轮询位置以查看它是否更改。
文档:https://developer.mozilla.org/en-US/docs/Web/API/Window/hashchange_event
此代码片段将向当前页面添加侦听器,然后操作哈希并触发函数,显示新的哈希值。你可以在这里调用任何函数
window.addEventListener('hashchange', function() {
alert(location.hash);
});
window.location += "#test";
var hash = window.location.hash;
if(hash){
// do something
}
<script>
if (window.location.href.includes('#')) {
// run your code here
}
</script>
使用位置。哈希函数将解决你的问题
var hash = window.location.hash.replace(/#/g, '');
if(hash){
// found a hash
console.log("heyy I found a hash")'
}
else{
// did not find a hash
console.log("Uh oh")
/*
try using :
window.location = window.location + '#' + "some random variable"
to create a new URL and every time the page loads find the hash and
display the wanted data.
*/
}
PS:这只适用于如果你的URL是example.com/#xyz然后它会给你一个xyz作为控制台输出。这听起来模糊,但如果你这样做,你可能会得到一个想法