javascript - 在不重新加载页面的情况下覆盖 location.search javascript
问题描述
我现在想修改 location.search 属性,如果我这样做:
<script>location.search = "dummyparam=dummyvalue";</script>
但是它将页面重新加载到新的 url,包括 location.search 的新值,我想要的是伪造它。
我尝试使用:
Object.defineProperty(window, 'location', {
search: "fakeparam=fakevalue"
});
也在做:
Object.defineProperty(location, 'search', {
search: "fakeparam=fakevalue"
});
但没有一个工作,任何线索?
谢谢!
解决方案
无需重新加载即可修改 url(包括 location.search)的唯一方法是使用 HTML5 历史 API 推送状态。
您可以执行以下操作:
window.history.pushState("", "", "/this-is-new-url?fakeparam=fakevalue");
推荐阅读
- c# - 如何使用c#将特定范围内的单元格从一个excel工作簿复制到另一个工作簿
- c# - 为什么我的未经授权的控制器不返回 401 ASP.Net Core?
- python - 模拟 Django 模型方法
- java - 创建元素时插入语法错误
- php - 访问解码后的 json 中的数组值
- doc2vec - 如何将 infer_vector 用于多个文档?
- asp.net - 注册 IUserStore
使用简单注射器时出错 - javascript - 如何限制数字输入文本框为小时格式 0-24
- github - 如何模板 Zenodo 自动发布存档
- spring-boot - 带有千分尺 Elasticsearch 注册表的 Spring Boot 仅索引空文档