我试图创建一个" builder"用户可以从下拉列表中选择元素并构建各种网页的页面。我们无法访问数据库以获取此信息,因此我希望能够将这些元素保存在网址中,以便可以通过电子邮件发送或保存网址,并且脚本将会#34 ;写"每次有人访问它时页面(这仅用于模型和交付目的 - 不用于生产)。
我尝试使用哈希(#),但是当我这样做时,它会给我一个错误:.reduce(...)
我使用等号来确定我正在寻找的对象的哪个变体,这就是造成这个问题的原因。
当我切换到使用Uncaught Error: Syntax error, unrecognized expression: #h=3&f=2
并在地址栏中使用问号(?)时,它工作正常,但我不知道如何更改网址(使用jquery / javascript)没有这样刷新页面。
我希望网址类似于window.location.search
或www.sample.com/?h=1&f=2
。然后,在"建筑"过程中,我希望能够将所有不同的元素及其变体附加到网址中,例如www.sample.com/#h=1&f=2
或window.location.hash = window.location.hash + "a=1";
有什么想法吗?
答案 0 :(得分:2)
这种方式应该有效。
var defaultState = {
current: window.location.pathname
};
var requestParameters = [
'?id=0',
'&id=1',
'&id=2'
];
var path = window.location.pathname + requestParameters.join("");
window.history.pushState(defaultState, 'Title', path);