除非我手动点击回车键或刷新页面,否则我的hash URL
不会执行javascript/jQuery
。
$(function($){
var key=$(location).attr('hash');
if (key){
$('#div').find('div.div2').load('sig.php?k='+key)
}
});
当我手动输入URL
或刷新页面时,无论何时我使用<a href="url#SecReTkEy">
或Javascript/jQuery
函数,例如:
$(location).attr('href','url#SecReTkEy');
$('a').prop('href','url#SecReTkEy');
window.location.replace('url#SecReTkEy');
window.location.href('url#SecReTkEy');
任何人都可以告诉我为什么以及如何解决这个问题? `
答案 0 :(得分:0)
你应该使用
location.href = #whatever
答案 1 :(得分:0)
您不需要JQuery来检索哈希。使用window.location.hash
的完全限定引用(我猜location
不起作用,因为您已经有一个名为location
的var。
另外,请不要忘记使用encodeURIComponent
对密钥进行URL编码。此外,$
不需要$(function(){
var key = window.location.hash;
if (key){
$('#div').find('div.div2').load('sig.php?k=' + encodeURIComponent(key))
}
});
。
$scope
答案 2 :(得分:0)
I have a hash URL that doesn't execute the javascript/jQuery unless I manually hit the enter key or refresh the page.
这是因为它只启动了一次而不是eventBinder
hashchange
。