在导航之前对window.location进行多次更改

时间:2014-10-03 15:49:54

标签: javascript

在我的客户端脚本中,我需要强制浏览器导航到另一个URL。我知道这是通过window.location对象完成的,但对它的任何单一更改都会导致窗口URL的立即更改,从而使浏览器导航到此URL。

我需要能够更改查询字符串并更改URL路径的一部分。 FF实现URLUtils,允许我这样做:https://developer.mozilla.org/en-US/docs/Web/API/URLUtils但其他浏览器不支持:

var anchor = document.createElement("a");
anchor.href = "https://developer.mozilla.org/en-US/search?"

searchParams.append('q', 'URLUtils')
searchParams.append('topic', 'api');

// "https://developer.mozilla.org/en-US/search?q=URLUtils&topic=api"

window.location = anchor.href;

我需要在其他浏览器中实现相同的效果。除了在字符串级别手动执行此操作之外的任何建议?我想使用内置的浏览器功能来实现它。

2 个答案:

答案 0 :(得分:0)

试试这个Jquery实用程序。可能会有所帮助。

http://benalman.com/projects/jquery-urlinternal-plugin/

答案 1 :(得分:0)

我最终使用了这个库:https://github.com/medialize/URI.js没有内置的浏览器支持我正在寻找的东西。