相关疑难解决方法(0)

如何在不重新加载页面的情况下修改URL?

有没有办法在不重新加载页面的情况下修改当前页面的URL?

如果可能的话,我想访问#hash 之前的部分.

我只需要在域之后更改部分,因此它不像我违反了跨域策略.

 window.location.href = "www.mysite.com/page2.php";  // Sadly this reloads
Run Code Online (Sandbox Code Playgroud)

html javascript url friendly-url url-rewriting

2221
推荐指数
17
解决办法
129万
查看次数

Twitter Bootstrap - 选项卡 - URL不会更改

我正在使用Twitter Bootstrap及其"标签".

我有以下代码:

<ul class="nav nav-tabs">
    <li class="active"><a data-toggle="tab" href="#add">add</a></li>
    <li><a data-toggle="tab" href="#edit" >edit</a></li>
    <li><a data-toggle="tab" href="#delete" >delete</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

选项卡正常工作,但URL中没有添加#add,#edit,#delete.

当我删除data-toggleURL更改,但选项卡不起作用.

对此有何解决方案?

jquery twitter-bootstrap

106
推荐指数
4
解决办法
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');
Run Code Online (Sandbox Code Playgroud)

在这里查看实例:http://jsbin.com/asobi

当用户单击" 链接 "时,修改的哈希标记没有任何页面跳转,因此工作正常.

但是当用户点击" 取消链接 "时,删除了has标记,页面滚动跳转到顶部.我需要删除没有这种副作用的哈希.

javascript jquery fragment-identifier

76
推荐指数
3
解决办法
8万
查看次数

从url中删除哈希

我是ajax-ifying在我的一个项目中的分页,因为我希望用户能够为当前页面添加书签,我通过哈希附加页码,说:

onclick="callPage(2); window.location.hash='p=2'; return false;"
Run Code Online (Sandbox Code Playgroud)

并且hyperlink它在它上面工作正常和一切,除了,当页码是1,我不想URL成为/products#p=1,我只是希望它是/products

我试过这些变化:

  1. window.location.hash=''工作,但网址现在像/products#,我不是那里的哈希.
  2. 根本没有使用window.location.hash,但当用户从第3页回到第1页时,他在第一页,但是url仍然是/products#p=3因为我没有弄乱哈希.
  3. 谷歌搜索这导致我几分钟(约15)愚蠢的论坛,问题被正确,但答案是建议页面跳跃,因为线程创建者在href中有一个哈希<a href="#">,他应该使用javascript:void(0).(他们从未听说过Ajax吗?)

所以最后,我决定制作这个帖子,我在这里发现了几个类似的线程,但所有的答案与我的第二点非常相似.

所以我的一个大问题仍然是一个问题:如何从网址中挖出哈希,并可能离开宇宙?(仅限第一页!)

javascript ajax fragment-identifier

52
推荐指数
4
解决办法
8万
查看次数

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

背景:我有一个HTML页面,可以让您扩展某些内容.由于只需要加载页面的一小部分进行此类扩展,因此通过JavaScript完成,而不是通过指向新的URL/HTML页面.然而,作为奖励,用户能够永久链接到这样的扩展部分,即向其他人发送诸如的URL

http://example.com/#foobar

并为其他用户立即打开"foobar"类别.这使用parent.location.hash ='foobar',因此该部分很好.

现在的问题是:当用户在页面上关闭此类别时,我想再次清空URL片段,即将http://example.com/#foobar转到http://example.com/以更新永久链接显示.但是,这样做parent.location.hash = ''会导致重新加载整个页面(例如在Firefox 3中),我想避免这种情况.使用window.location.href = '/#'不会触发页面重新加载,但会在URL中留下一些看起来不太好看的"#"符号.那么在流行的浏览器中有没有一种方法可以删除包含"#"符号的URL锚点,而不会触发页面刷新?

html javascript url fragment-identifier

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

从window.location.hash中删除#

我有这个简单的脚本:

$(document).ready(function(){

var $yoyo = window.location.hash;

alert($yoyo);

});
Run Code Online (Sandbox Code Playgroud)

但我需要摆脱#符号,因为我将使用变量来定位div ID.我尝试过使用.remove('#'),但这似乎不起作用.

提前谢谢了!

jquery window.location

30
推荐指数
2
解决办法
6万
查看次数

清除URL哈希

访问stackoverflow.com/#_=_window.location.hash评估#_=_.精细.

现在执行window.location.hash = ''清除哈希,URL变为stackoverflow.com/#.(请注意尾随#.)

为什么#window.location.hash不一致包含或排除?如何在#不重新加载页面的情况下从URL中删除?

(MDN

[哈希]是#符号后面的URL的一部分,包括#符号.

但在空哈希的情况下,情况并非如此.)

html javascript url-routing window.location

30
推荐指数
1
解决办法
3万
查看次数

window.location.hash =""; 防止滚动到顶部?

在我的网站上我设置了网址地址

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

但如果我想从任何哈希(当我关闭一个项目)清理地址网址,我设置

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

它会在页面滚动到首页时发生

有没有办法清理网址没有任何副作用?

谢谢

javascript fragment-identifier

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

jQuery在向下滚动页面时更改哈希(片段标识符)

我正在建立一个寻呼机网站.例如.每个页面(总共5个)位于一个大页面上,主菜单固定在顶部.当您单击菜单链接时,它会将您向下滑动到该页面锚标记,并且单击的菜单项将获得"活动"CSS类.

我现在要做的是允许用户滚动自己,但仍然有菜单"活动"项和URL哈希更改.

所以我的问题基本上是如何知道用户何时向下滚动到不同的页面,以便我可以更新菜单和URL哈希(片段标识符).

谢谢

javascript url jquery

11
推荐指数
1
解决办法
2万
查看次数

从地址栏中删除#fragment标识符

嗨,我希望有人可以帮忙.我想隐藏地址栏中的片段标识符,而不是:

www.mydomain.com/example.html#something

我得到:

www.mydomain.com/example.html

当我点击一个锚标签.

我看了很多相关的问题和论坛,但仍然无法弄明白.我很确定我应该使用以下内容:

window.location.href.replace(/#.*/,''); //and or .hash
Run Code Online (Sandbox Code Playgroud)

放就是想不出来.

localScroll插件允许您隐藏或保留标识符,默认情况下它们是隐藏的.我认为很多画廊插件也有类似的选择.

但是当我尝试自己做的时候(一点新手)我发疯到没有结果.

下面是我希望它可以使用的一些基本示例脚本:

<style>
.wrap{
width:300px;
height:200px;
margin:auto;
}

.box{
width:300px;
height:200px;
position:absolute;
display:none;
}

#one{background:red;}
#two{background:blue;}
#three{background:green;}

.load{display:block;}
</style>


<body>
<ul>
    <li><a href="#one">One</a></li>
    <li><a href="#two">Two</a></li>
    <li><a href="#three">Three</a></li>
</ul>

<div class="wrap">
    <div id="one" class="box load">This is Box 1</div>
    <div id="two" class="box">This is Box 2</div>
    <div id="three" class="box">This is Box 3</div>
</div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
$(document).ready(function() {

$("ul li a").click(function(){

       $("div.box").fadeOut(1000);

       $($(this).attr('href')).fadeIn(1000);

    });
});
</script>
</body>
Run Code Online (Sandbox Code Playgroud)

javascript jquery

8
推荐指数
1
解决办法
2万
查看次数