Tag: 片段标识符

编码window.location.hash

window.location.hash是否包含url部分的编码或解码表示? 当我在Firefox 3.5和Internet Explorer 8中打开相同的URL( http://localhost/something/#%C3%BC ,其中%C3%BC转换为ü )时, document.location.hash会得到不同的值: IE8: #%C3%BC FF3.5: #ü 有没有办法在两个浏览器中获得一个变体?

在JavaScript中删除URL中的片段w / out导致页面重新加载

背景:我有一个HTML页面,可以让你展开某些内容。 由于只有小部分的页面需要加载进行这种扩展,所以通过JavaScript完成,而不是通过指向新的URL / HTML页面。 然而,作为奖励,用户能够永久地固定到这样的扩展部分,即向其他人发送类似的URL http://example.com/#foobar 并为其他用户立即打开“foobar”类别。 这工作使用parent.location.hash ='foobar',所以部分是好的。 现在的问题是:当用户在页面上closures这样的类别时,我想再次清空URL片段,即将http://example.com/#foobar变成http://example.com/来更新固定链接显示。 但是,使用parent.location.hash = ''会导致重新加载整个页面(例如,在Firefox 3中),这是我想避免的。 使用window.location.href = '/#'将不会触发页面重新加载,但在URL中留下一些看上去很前卫的“#”号。 那么在stream行的浏览器中有没有一种方法可以在不触发页面刷新的情况下JavaScript去除包含“#”符号的URL定位符?

用JavaScriptparsingURL哈希/片段标识符

寻找一种方法来将密钥对从URL的散列/片段中parsing到带有JavaScript / JQuery的对象/关联数组中

更改哈希,而无需在jQuery中重新加载

我有以下代码: $('ul.questions li a').click(function(event) { $('.tab').hide(); $($(this).attr('href')).fadeIn('slow'); event.preventDefault(); window.location.hash = $(this).attr('href'); }); 这只是简单地淡化你点击时的div,但是当你点击的时候,我希望页面的URL哈希标签改变,以便人们可以复制和书签。 目前,当散列标签发生变化时,这将有效地重新加载页面。 是否有可能改变哈希标签,而不是重新加载页面,以防止跳跃效应?

使用jQuery UI选项卡更改location.hash

我一直在试图find一种方法来将window.location.hash更改为Jquery UI选项卡中当前选定的选项卡 。 我试过了: $("#tabs > ul").tabs(); $("#tabs > ul").bind("tabsshow", function(event, ui) { window.location.hash = ui.tab; }) 这会导致在标签更改时将散列更改为#undefined。 我也试过: $("#tabs > ul").tabs({ select: function(event, ui) { window.location.hash = ui.tab } }); 但这似乎并没有被触发。 任何帮助,将不胜感激。 谢谢。 编辑:它看起来像我最初的问题的一部分,与其他干扰这个问题的js有关。 接受的答案和其他build议的答案略有修改做的工作。 谢谢大家。

我怎样才能删除位置散列,而不会导致页面滚动?

是否有可能从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 当用户点击“ 链接 ”时,哈希标签被修改而没有任何页面跳转,因此工作正常。 但是,当用户点击“ 取消链接 ”时,has标签被删除,页面滚动 – 跳转到顶部。 我需要删除哈希没有这个副作用。

你可以使用哈希导航而不影响历史?

恐怕这可能是不可能的,但是有没有办法改变一个URL的哈希值, 而不会在浏览器的历史logging中留下条目,也没有重新加载 ? 或者做同样的事情? 就具体情况而言,我正在开发一些基本的哈希导航: //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 I would […]

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

处理js中的URL定位更改事件

我如何编写将在URL锚点中的任何更改上执行的JavaScriptcallback代码? 例如从http://example.com#a到http://example.com#b

URL中片段标识符的有效字符列表?

我正在使用片段标识符为我的networking应用中的AJAX事件创build一个永久链接类似于这个家伙 。 就像是: http://www.myapp.com/calendar#filter:year/2010/month/5 我已经做了相当多的search,但无法find片段标识符的有效字符列表。 W3C规范不提供任何东西。 我是否需要对字符进行编码,与一般的URL相同? 在这个地方似乎没有任何好的信息。