Questions tagged «fragment-identifier»

片段标识符是URI / URL中哈希符号后面的部分。在http://mysite.com/page/#/one的情况下,/ one将是片段标识符。

18
如何使用JavaScript检查URL中的#哈希?
我有一些jQuery / JavaScript代码,仅当#URL中有哈希()锚链接时才要运行。如何使用JavaScript检查此字符?我需要一个简单的包罗万象的测试,该测试可以检测如下URL: example.com/page.html#anchor example.com/page.html#anotheranchor 基本上是这样的: if (thereIsAHashInTheUrl) { do this; } else { do this; } 如果有人能指出我正确的方向,那将不胜感激。


7
Facebook和新的Twitter URL中的shebang / hashbang(#!)是什么?
我刚刚注意到,我们现在习惯的长而复杂的Facebook URL看起来像这样: http://www.facebook.com/example.profile#!/pages/Another-Page/123456789012345 据我所知,今年早些时候,它只是一个普通的类似于URL片段的字符串(以开头#),没有感叹号。但是现在是shebang或hashbang(#!),我以前只在shell脚本和Perl脚本中看到过。 在新的Twitter的网址,现在还采用了#!符号。例如,Twitter个人资料URL现在看起来像这样: http://twitter.com/#!/BoltClock #!现在是否在URL中扮演某些特殊角色,例如对于某个Ajax框架或某些东西,因为新的Facebook和Twitter界面现在基本上已被Ajax化? 在URL中使用它会以任何方式使我的Web应用程序受益吗?

13
开启-window.location.hash-更改了吗?
我正在使用Ajax和哈希进行导航。 有没有办法检查这种window.location.hash变化是否? http://example.com/blah #123到http://example.com/blah #456 如果我在加载文档时检查它,它将起作用。 但是,如果我具有基于#hash的导航,则在按浏览器上的“后退”按钮时将不起作用(因此,我从blah#456跳至blah#123)。 它显示在地址框中,但我无法用JavaScript捕获它。



17
无需页面滚动即可修改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; }); }); 我曾希望这样做return false;可以阻止页面滚动-但这只会使链接根本不起作用。所以这只是现在注释掉了,所以我可以导航。 有任何想法吗?

4
URL片段和302重定向
众所周知,URL片段(之后的部分#)没有发送到服务器。 我确实想知道当涉及服务器重定向(通过HTTP状态302和Location:标头)时,片段如何工作。 我的问题确实有两点: 如果原始URL带有一个片段(/original.php#foo),并且重定向到/new.php,那么原始URL的片段部分是否会丢失?还是有时将其应用于新网址?在这种情况下,是否会使用新的URL /new.php#foo? 不管原始URL是什么,如果服务器使用片段(/new.php#foo)重定向到新的URL,该片段都会被“认可”吗?还是服务器真的根本没有业务干扰该片段-并且浏览器将因此通过简单地转到/new.php?? 来忽略它?

6
获取URL哈希位置,并在jQuery中使用它
我想在当前页面的URL中获取哈希值后的值,然后将其应用于新函数中。 该网址可能是 www.example.com/index.html#foo 我想将其与以下代码结合使用 $('ul#foo:first').show(); 我有点假设/希望有某种方法可以将其捕获,并将其转换为变量,然后在第二段代码中使用。


4
您可以在不影响历史记录的情况下使用哈希导航吗?
恐怕这是不可能的,但是有没有一种方法可以更改URL的哈希值而又不会在浏览器的历史记录中留下任何条目并且无需重新加载?还是等效? 就细节而言,我正在按照以下方式开发一些基本的哈希导航: //hash nav -- works with js-tabs var getHash = window.location.hash; var hashPref = "tab-"; function useHash(newHash) { //set js-tab according to hash newHash = newHash.replace('#'+hashPref, ''); $("#tabs li a[href='"+ newHash +"']").click(); } function setHash(newHash) { //set hash according to js-tab window.location.hash = hashPref + newHash; //THIS IS WHERE …


3
URL中片段标识符的有效字符列表?
我正在使用片段标识符在我的Web应用程序中为此家伙创建AJAX事件的永久链接。就像是: http://www.myapp.com/calendar#filter:year/2010/month/5 我已经做了很多搜索,但是找不到片段idenitifer的有效字符列表。在W3C规范不提供任何内容。 我是否需要将字符编码为与通常的URL相同的字符? 似乎在任何地方都没有任何好的信息。

2
带锚的ASP.Net MVC RedirectToAction
我有以下问题:例如,我有这样的路线: routes.Add(new Route("forums/thread/{threadOid}/last", new MvcRouteHandler()) Defaults = new RouteValueDictionary( new { controller = "Thread", action ="ShowThreadLastPostPage"}), Constraints = new RouteValueDictionary(new { threadOid = @"^\d+$" }) } ); 有没有一种方法可以使用RedirectToAction方法导航到这样的URL: forums/thread/{threadOid}/last#postOid

8
如何在不导致页面滚动的情况下删除位置哈希?
是否可以在window.location不导致页面跳转到顶部的情况下删除哈希值?我需要能够修改散列而不会引起任何跳跃。 我有这个: $('<a href="#123">').text('link').click(function(e) { e.preventDefault(); window.location.hash = this.hash; }).appendTo('body'); $('<a href="#">').text('unlink').click(function(e) { e.preventDefault(); window.location.hash = ''; }).appendTo('body'); 在此处查看实时示例:http : //jsbin.com/asobi 当用户单击“ link ”时,哈希标签被修改而没有任何页面跳转,因此可以正常工作。 但是,当用户单击“取消链接”时,has标记将被删除,页面滚动跳转到顶部。我需要删除没有这种副作用的哈希。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.