我有类似http://domain.com/Pages/SearchResults.aspx?function=search&selectedserver=intranet&search_query=MyRecords的内容,需要用类似于http://domain.com/Pages/SearchResults.aspx?function=loginsearch&user=admin&password=admin&selectedserver=intranet&search_query=MyRecords的JavaScript替换它 - 所以
function=search
正在替换为
function=loginsearch&user=admin&password=admin
在网址内。需要帮助我应该将JavaScript保存为浏览器工具栏上的按钮,以便点击并替换地址栏中的URL。
答案 0 :(得分:12)
var url = window.location.toString();
window.location = url.replace(/function=search/, 'function=loginsearch&user=admin&password=admin');
答案 1 :(得分:3)
如果您想要在不刷新页面的情况下这样做,我担心这是不可能的。您只能通过Javascript更改哈希标记,即http://example.com/page/#hashtag,您可以通过window.location.hash
进行操作。
答案 2 :(得分:2)
location.href = location.href.replace(
'function=search&', 'function=loginsearch&user=admin&password=admin&')
答案 3 :(得分:2)
更新显示的网址而不重新加载页面的唯一方法是history.pushState
window.history.pushState("", "", "/your-new-url");
答案 4 :(得分:0)
您可能会发现专用库URI.js很有帮助,尤其是setQuery()和addQuery()方法。我将这段代码直接粘贴到该页面的控制台中,它似乎有效:
var url = 'http://domain.com/Pages/SearchResults.aspx?function=search&selectedserver=intranet&search_query=MyRecords';
var uri = new URI(url);
var new_params = {'function': 'loginsearch', 'user': 'admin', 'password': 'admin'};
uri.setSearch(new_params);
console.log(uri.toString());
http://domain.com/Pages/SearchResults.aspx?function=loginsearch&selectedserver=intranet&search_query=MyRecords&user=admin&password=admin
<- undefined
>
将此逻辑转换为函数(或单行程:)应该很容易。顺便说一下,为什么要在URL中传递凭证?
答案 5 :(得分:0)
var url = window.location.href;
window.location = url.replace(/function=search/, 'function=loginsearch&user=admin&password=admin');
答案 6 :(得分:0)
我的版本。对我来说很好。
let url = window.location.toString();
window.history.pushState('', '', url.replace(searching_string, new_string));