1

我目前对此感到困惑。我已经窥探了一会儿,没有找到任何仅使用 JS来执行此操作的具体答案,所以我的问题是这样的。如果我正在浏览多个页面并希望在附加到 url 之前保留查询字符串,那么最简单的方法是什么?

4

3 回答 3

0

我不认为有一个简单的方法。每次编写 URL 或创建表单时,您都必须考虑当前的查询参数。

于 2012-05-24T20:01:57.090 回答
0

你要这个吗?

var url1 = "...", url2 = "...";

var query1 = url1.split("#")[0].split("?").slice(1).join("?");
if (!query1)
    return url2;
var parts2 = url2.split("#");
parts2[0] +=  (parts2[0].indexOf("?")>-1 ? "&" : "?" ) + query1;
return parts2.join("#");

这将从 中提取查询字符串url1并将其附加到 的查询字符串中url2,返回新的url2.

于 2012-05-24T20:10:29.110 回答
0

如果用户“导航”的方式是使用页面内的链接,您可以这样做。

  1. 在给定的 html 页面中,页面内运行的 Javascript 可以通过该window.search属性查看 url 的查询参数。Mozilla 文档。

  2. 然后使用 JS 修改页面的所有锚元素的 href 链接,以将已经存在的查询参数添加到链接中。

结果:单击页面中的链接将导致新页面同时具有现有查询参数和新查询参数。

于 2012-05-24T20:14:25.290 回答