我试图获取当前页面的哈希值,但没有成功。我以这样的链接来定位一个页面:
http://www.mydomain.com/test.html#hash
我用于测试的 jQuery 代码如下:
$(document).ready(function() {
if (window.location.hash){
console.log ("FOUND HASH");
}else{
console.log ("HASH NOT FOUND");
}
});
无论我做什么,哈希值总是空的“”。然而当我在Firebug中断点代码并查看DOM时,我可以清楚地看到哈希值在
window.location.hash
下正确设置。
我错在哪里了?
提前感谢您的帮助。答案摘要: 事实证明,伪装网址会在整个页面周围创建一个框架包装器,在这种情况下,使用不同的端口。哈希由父框架保留,但丢失给子框架,并且无法通过jQuery代码访问。使用直接的非加载地址将产生正确的行为。
alert(window.location.hash)
,我确信这应该可以工作... 您使用的是哪个浏览器?您能给我们提供其他上下文吗? - d-_-bframe
和frameset
标记定义为废弃元素。http://www.w3.org/TR/html5-diff/#obsolete-elements - Nirvana Tikku