锚不使用javascript
或不使用javascript 当我加载带有URL的页面时,锚定会起作用。 当我以javascript为例进行设置时。页面正在加载,但锚不起作用。 (顺便说一句:就我而言,重新装载是必要的) 这里是我的脚本(注释我尝试的内容)。。事实上我试了很多锚不使用javascript,javascript,Javascript,或不使用javascript 当我加载带有URL的页面时,锚定会起作用。 当我以javascript为例进行设置时。页面正在加载,但锚不起作用。 (顺便说一句:就我而言,重新装载是必要的) 这里是我的脚本(注释我尝试的内容)。。事实上我试了很多 function hash_test() { href = window.location.href; alert(href); if (href.lastIndexOf('#') > 0){ //remo
function hash_test() {
href = window.location.href;
alert(href);
if (href.lastIndexOf('#') > 0){ //remove hash if present
href = href.substring(0,href.lastIndexOf('#'));
}
alert(href);
/* window.location.href = href;
window.location.hash = '#beitrag9';*/ // does not work to
window.location.href = href +'#beitrag9';
window.location.reload(true);
}
您的脚本正在为我工作:刚刚尝试使用此网页
function hash_test() {
href = window.location.href;
alert(href);
if (href.lastIndexOf('#') > 0){ //remove hash if present
href = href.substring(0,href.lastIndexOf('#'));
}
window.location.href = href +'#35711597';
window.location.reload(true);
}
在控制台中粘贴函数并调用hash_test()
重新打开此页面,我将看到此答案
可能在某些情况下(直接用户交互时不会重新加载页面)或在某些浏览器上无法工作
然后,您可以尝试强制页面在加载时始终以编程方式滚动到锚定,并在标题底部显示锚定
<script>
window.onload=function()
{
var href,
hash;
href = window.location.href;
if( href.lastIndexOf( '#' ) != -1 )
{
hash = href.substring( href.indexOf( '#' ) );
if( hash.lastIndexOf( '?' ) != -1 )
{
// cut away query string as well (if present)
hash = hash.substring( 0, hash.indexOf( '?' ) );
}
window.location.hash = hash;
}
};
</script>
window.onload=function()
{
var href,
搞砸
href=window.location.href;
如果(href.lastIndexOf('#')!=-1)
{
hash=href.substring(href.indexOf(“#”);
if(hash.lastIndexOf(“?”)!=-1)
{
//切掉查询字符串(如果存在)
hash=hash.substring(0,hash.indexOf('?');
}
window.location.hash=散列;
}
};
底线: 锚定是HTML的一个众所周知且受支持的特性(即使StackOverflow也依赖于锚定来生成指向特定答案的链接) 然而,您对它们的使用是相当“边缘化”的:我提出的代码片段是一种黑客行为,而不是一种规范的解决方案,您可能会期望跨浏览器的行为不一致 现在让我试着为你最初的问题提供更多的背景: 您需要重新加载页面的原因似乎是向服务器发送一些数据,并(最终)显示页面内容的一些更改 如果必须这样做,大约十年后,就有了ajax 将数据发送到服务器,等待(异步)其他输出数据从服务器返回,然后以编程方式将更改应用到页面 这为用户提供了更好的界面体验,最终结果是一致的
现在你有了一个“体面”的解决方案。我建议您考虑<强> Ajax <强>(最后借助JQuery库)来为您正在工作的站点或将来的项目做进一步的改进。这个锚应该完成什么?您从代码中调用了<代码> HasyTestTo()/<代码>函数吗?为什么页面需要重新加载?如果没有这些信息,这听起来像是XY问题。你的意思是页面会重新加载,但内容不会滚动到锚点的位置。
beitrag9
?是的,保罗-这就是问题所在!谢谢你,保罗。。。这在我的测试脚本上起作用。。现在我在我的pageHi Paolo中尝试了它-简短回应:它在FF和Crome中有效,但在IE11中有点糟糕,但我会接受它…@ratmalwer-我编辑了答案-查看我的底线。Hi Paolo-你是对的。-当我用Ajax操纵这个项目时,我考虑你的建议…谢谢你是个好人!