标签: fragment-identifier

我应该使用'name'或'id'制作HTML Anchor吗?

当想要用" http://example.com/#foo"方法引用网页的某些部分时,应该使用

<h1><a name="foo"/>Foo Title</h1>
Run Code Online (Sandbox Code Playgroud)

要么

<h1 id="foo">Foo Title</h1>
Run Code Online (Sandbox Code Playgroud)

他们都工作,但他们是平等的,还是他们有语义差异?

html html5 hyperlink fragment-identifier

762
推荐指数
9
解决办法
60万
查看次数

如何使用JavaScript检查URL中的#hash?

我有一些jQuery JavaScript代码,我想只在URL中有一个哈希(#)锚链接时运行.如何使用JavaScript检查此角色?我需要一个简单的catch-all测试来检测这样的URL:

  • example.com/page.html#anchor
  • example.com/page.html#anotheranchor

基本上是这样的:

if (thereIsAHashInTheUrl) {        
    do this;
} else {
    do this;
}
Run Code Online (Sandbox Code Playgroud)

如果有人能指出我正确的方向,那将非常感激.

javascript anchor jquery fragment-identifier

754
推荐指数
12
解决办法
60万
查看次数

什么是Facebook中的shebang/hashbang(#!)和新的Twitter URL?

我刚才注意到,我们习惯使用的漫长而复杂的Facebook网址现在看起来像这样:

http://www.facebook.com/example.profile#!/pages/Another-Page/123456789012345

据我所知,今年早些时候它只是一个普通的URL片段式字符串(以...开头#),没有感叹号.但现在它是一个shebang或hashbang(#!),我以前只在shell脚本和Perl脚本中看到过.

新的Twitter的网址,现在还采用了#!符号.例如,Twitter个人资料网址现在看起来像这样:

http://twitter.com/#!/BoltClock

#!现在是否在URL中起了一些特殊的作用,比如某个Ajax框架或某些东西,因为新的Facebook和Twitter界面现在基本上是Ajax化的?在我的URL中使用它会以任何方式使我的Web应用程序受益吗?

twitter url facebook fragment-identifier hashbang

743
推荐指数
6
解决办法
11万
查看次数

On - window.location.hash - 更改?

我正在使用Ajax和hash进行导航.

有没有办法检查是否window.location.hash改变了这样?

http://example.com/blah #123http://example.com/blah #456

如果我在文档加载时检查它,它可以工作.

但是如果我有基于#hash的导航,那么当我按下浏览器上的后退按钮时它就不起作用了(所以我从#456跳到了#123).

它显示在地址框内,但我无法用JavaScript捕获它.

javascript ajax javascript-events fragment-identifier hashchange

548
推荐指数
9
解决办法
39万
查看次数

如何在没有页面刷新的情况下使用JavaScript从window.location(URL)中删除哈希?

我有这样的URL:http://example.com#something如何删除#something,而不会导致页面刷新?

我尝试了以下解决方案:

window.location.hash = '';
Run Code Online (Sandbox Code Playgroud)

但是,这不会#从URL中删除哈希符号.

javascript window.location fragment-identifier

306
推荐指数
10
解决办法
26万
查看次数

在不使用JavaScript加载新页面的情况下更改浏览器中的URL

我如何使用可能对当前页面产生一些影响的JavaScript操作,但也会更改浏览器中的URL,以便在用户点击重新加载或书签时使用新URL?

如果后退按钮会重新加载原始URL也会很好.

我试图在URL中记录JavaScript状态.

javascript url fragment-identifier hashchange

296
推荐指数
6
解决办法
29万
查看次数

在没有页面滚动的情况下修改location.hash

我们有一些页面使用ajax来加载内容,并且在某些情况下我们需要深入链接到页面.而不是链接到"用户"并告诉人们点击"设置",能够将人们链接到user.aspx#settings是有帮助的

为了让人们能够为我们提供正确的部分链接(用于技术支持等),我已将其设置为在点击按钮时自动修改URL中的哈希值.唯一的问题当然是,当发生这种情况时,它还会将页面滚动到此元素.

有没有办法禁用它?以下是我到目前为止这样做的方法.

$(function(){
    //This emulates a click on the correct button on page load
    if(document.location.hash){
     $("#buttons li a").removeClass('selected');
     s=$(document.location.hash).addClass('selected').attr("href").replace("javascript:","");
     eval(s);
    }

    //Click a button to change the hash
    $("#buttons li a").click(function(){
            $("#buttons li a").removeClass('selected');
            $(this).addClass('selected');
            document.location.hash=$(this).attr("id")
            //return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

我曾希望return false;会阻止页面滚动 - 但它只会使链接无法正常工作.所以现在只是注释掉,所以我可以导航.

有任何想法吗?

javascript jquery fragment-identifier

143
推荐指数
3
解决办法
11万
查看次数

获取URL哈希位置,并在jQuery中使用它

我想在当前页面的URL中获取哈希后的值,然后能够在新函数中应用它...例如.

URL可以是

www.example.com/index.html#foo
Run Code Online (Sandbox Code Playgroud)

我想结合下面的代码使用它

$('ul#foo:first').show();
Run Code Online (Sandbox Code Playgroud)

我有点假设/希望有一些方法可以抓住这个,并把它变成一个变量,然后我可以在第二段代码中使用它.

url hash jquery fragment-identifier

133
推荐指数
4
解决办法
22万
查看次数

如何从服务器端获取Url Hash(#)

我知道在客户端(javascript)你可以使用windows.location.hash但无论如何都无法从服务器端访问.

asp.net url fragment-identifier

132
推荐指数
4
解决办法
10万
查看次数

URL片段和302重定向

众所周知,URL片段(后面的部分#)不会发送到服务器.

我确实想知道当涉及服务器重定向(通过HTTP状态302和Location:标头)时片段如何工作.

我的问题实际上是双重的:

  1. 如果原始URL有片段(/original.php#foo),并且进行了重定向/new.php,那么原始URL的片段部分是否会丢失?或者它有时会应用到新的URL?
    新的URL是否会出现/new.php#foo在这种情况下?

  2. 无论原始URL如何,如果服务器重定向到带有fragment(/new.php#foo)的新URL,该片段是否会被"尊重"?或者服务器真的没有任何业务干扰片段 - 浏览器因此会忽略它只是去/new.php

redirect http-redirect fragment-identifier

130
推荐指数
3
解决办法
5万
查看次数