通过JavaScript删除锚点,但不删除参数

通过JavaScript删除锚点,但不删除参数,javascript,regex,url,Javascript,Regex,Url,我想更改以下示例URL http://www.mydomain.net/site?argument1=test1&argument2=test2#anchor 到 使用JavaScript。我最好怎么做 编辑:对于“锚定”和其他文本元素,我指的是通用元素。因此,锚也可以是另一个文本。抱歉。试试这个: window.location = window.location.replace('#anchor',''); window.location = window.location.re

我想更改以下示例URL

http://www.mydomain.net/site?argument1=test1&argument2=test2#anchor

使用JavaScript。我最好怎么做

编辑:对于“锚定”和其他文本元素,我指的是通用元素。因此,锚也可以是另一个文本。抱歉。

试试这个:

window.location = window.location.replace('#anchor','');
window.location = window.location.replace(/#anchor/,"");
试试这个:

window.location = window.location.replace(/#anchor/,"");

如果您试图更改当前位置的定位点,最好更改
window.location.hash

window.location.hash = '';

在某些浏览器中,这将避免在URL更改时重新加载页面。

如果您试图更改当前位置的定位点,最好更改
window.location.hash

window.location.hash = '';

在某些浏览器中,这将避免在URL更改时重新加载页面。

好的,所以我尝试了这个方法,效果非常好:

var url=window.location.toString(); 
url=url.replace(/#anchor/,''); 
window.location=url;

好的,我试了一下,效果非常好:

var url=window.location.toString(); 
url=url.replace(/#anchor/,''); 
window.location=url;
这应该取代您url中的#锚定,但也可以取代#锚定#等或#锚定等
var url=”http://www.mydomain.net/site?argument1=test1&argument2=test2#anchor";
url=url.replace(/\\\\\[a-z\-\\\\\\\\\\+/i,”)

这应该取代url中的#锚定,但也可以取代#锚定#等或#锚定等
var url=”http://www.mydomain.net/site?argument1=test1&argument2=test2#anchor";

url=url.replace(/\\\\\[a-z\-\\\\\\\\\\+/i,”)

第一个URL被破坏,锚必须在末尾(在查询字符串之后)@David Dorward:哦,我没有注意到,谢谢。这对解决这个问题已经有很大帮助了…@David Dorward:URL非常好(它是
http://www.mydomain.net/site#anchor?argument1=test1&argument2=test2
)此表单可用于创建Ajax请求的历史记录,包括参数。“查询字符串”是散列的一部分。考虑到问题的上下文,它比散列问题的一个实例更有可能被破坏。@David Dorward:事实上,这对我来说很有意义。因为特工说他想重新加载到一个新的位置。仅仅删除散列并重新加载不会将他带到新位置。但是不管怎样…第一个URL被破坏了,锚必须在最后(在查询字符串之后)@David Dorward:哦,我没有注意到,谢谢。这对解决这个问题已经有很大帮助了…@David Dorward:URL非常好(它是
http://www.mydomain.net/site#anchor?argument1=test1&argument2=test2
)此表单可用于创建Ajax请求的历史记录,包括参数。“查询字符串”是散列的一部分。考虑到问题的上下文,它比散列问题的一个实例更有可能被破坏。@David Dorward:事实上,这对我来说很有意义。因为特工说他想重新加载到一个新的位置。仅仅删除散列并重新加载不会将他带到新位置。但不管怎样……这将导致“#”仍然存在。此外,我认为它还删除了所有参数。“此外,我认为它还删除了所有参数。”据我所知,锚点无论如何都需要转到末尾,所以这不是问题。我猜剩下的就是替换“#”,它不会删除格式正确的URL中的参数(参数位于散列之前);如果散列后有参数,它们不是真正的参数,只是散列的一部分。我不知道如何去掉剩余的
。您可以用希望保留的位编造一个新URL,但请注意,这将导致大多数浏览器重新加载页面:
window.location=window.location.protocol+“/”+window.location.host+window.location.pathname+window.location.search
您还可以使用替换URL而不重新加载页面,但这开始变得非常复杂。这将导致“#”仍然存在。此外,我认为它还删除了所有参数。“此外,我认为它还删除了所有参数。”据我所知,锚点无论如何都需要转到末尾,所以这不是问题。我猜剩下的就是替换“#”,它不会删除格式正确的URL中的参数(参数位于散列之前);如果散列后有参数,它们不是真正的参数,只是散列的一部分。我不知道如何去掉剩余的
。您可以用希望保留的位编造一个新URL,但请注意,这将导致大多数浏览器重新加载页面:
window.location=window.location.protocol+“/”+window.location.host+window.location.pathname+window.location.search
您还可以使用替换URL而不重新加载页面,但这已经开始变得非常复杂了。