我希望在网页加载网址中的某个哈希值时执行一个函数。
因此,如果我访问www.mypage.com/hello.html#functionplease
,则代码将执行。
有人能指出我正确的方向吗?
任何建议表示赞赏!
答案 0 :(得分:9)
var h = location.hash.substr(1);
if (h == 'functionplease')
functionplease();
substr(1)删除#in hash。
很多功能?没问题!
switch(location.hash.substr(1)) {
case 'buy': buy(); break;
case 'sell': sell(); break;
case 'other': other(); break;
}
答案 1 :(得分:0)
以下内容应该有效:
<script type="text/javascript">
//check if hash tag exists in the URL
if(window.location.hash)
{
//set the value as a variable, and remove the #
var hash_value = window.location.hash.replace('#', '');
//check value of hash
if (hash_value == 'functionplease'){
// execute code
}
}
</script>
希望这有帮助!
答案 2 :(得分:0)
var pathname = window.location.pathname;
if(pathname.indexOf("#") != -1){
//call your function
}
答案 3 :(得分:0)
尝试:
<script type="text/javascript">
window.onload = function () {
setInterval(pollHash, 100);
}
var lasthash = '';
function pollHash() {
if (window.location.hash == lasthash) { return; }
lasthash = window.location.hash;
console.log('hash is changed! Current hash is: ' + lasthash);
switch (lasthash) {
case '???' :
/* do something */
break;
default:
/* do nothing */
break;
}
}
</script>