firefox中的window.location.hash问题

时间:2014-12-16 15:41:48

标签: javascript firefox window.location

我对正在创建的网站有疑问

<div id="footer"></div>    
<script>    
function preloadFunc()    
{    
window.location.hash = 'footer'
}
window.onpaint = preloadFunc();
</script>

上面是一段代码(放在头部,div位于15300px顶部),在其他任何东西被加载之前将页面重定向到底部(我想从下往上开始)。它适用于chrome / safari,但在刷新后似乎只在FF中重定向。有解决方法吗?

(在网址末尾+ #div是不可能的,因为将域重定向到网址#div似乎不能正常工作服务器端/ cpanel。大概是因为#div不是目录)

2 个答案:

答案 0 :(得分:0)

我很确定它应该是

window.onpaint = preloadFunc;

显然Chrome / Safari在页脚元素可用之前理解location.hash = 'footer'没有问题(或者他们以某种方式准备布局),但Firefox并不知道很快就会出现ID为footer的元素。所以它什么也没做。

答案 1 :(得分:0)

感谢快速回复,我非常感谢他们,但今天才有可能调试代码。

所以我发现了这个错误: 该组织如下:

<head>
1. css of #footer {top: 14000px}, body did not have a height specified
2. div 'footer'
3. script
</head>

,但是firefox调试器显示它替换了div和脚本中的脚本。

现在该组织是:

<head>
1. css of body {height: 14000px} #footer {top: 14000px}
</head>
<body>
2. <div id='footer'>
3.script
...

通过将div放在正文中,页脚似乎没有像之前那样“拉伸”页面(我不知道为什么),但是通过在body css中指定所需的高度来解决此问题。

www.windowlocationhash.tk现在有效: - )

ps:感谢关于()的提示,但我测试了它并且没有()代码不起作用......