更新:此问题已经解决,因此加载我的示例网页时将不再出现有问题的Firefox行为
我的网页有很长的文字段落,所以我想让每个段落都是自己的永久链接。为此,我使用jQuery添加锚点并在页面加载后链接到每个段落。这在Chrome中完美运行。为了让它在IE中工作,我在应用锚之后添加了一个显式的jQuery focus()函数。但是,如果我第一次加载页面或刷新页面(例如http://www.readsherlock.com/study.php#p4),这在Firefox中不起作用。相关的javascript粘贴在下面。
$(document).ready(function() {
var i = 1;
$("#text p").each(function(i){
$(this).html('<a name="p' + i + '" href="#p' + i++ + '">' + $(this).html() + '</a>');
});
if(location.hash != '')
$(location.hash).focus();
});
谢谢!
答案 0 :(得分:0)
这适用于Firefox 3.0.16
$(document).ready(function() {
var i = 1;
$("#text p").each(function(i){
$(this).html('<a name="p' + i + '" href="#p' + i++ + '">' + $(this).html() + '</a>');
});
if(location.hash != '')
location.hash = location.hash;
});
我没有检查过任何其他浏览器,因此您需要同时执行焦点和重置以触发所有浏览器。