javascript – URLSearchParams不返回与URL参数中找到的字符串相同的字符串
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – URLSearchParams不返回与URL参数中找到的字符串相同的字符串,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1196字,纯文字阅读大概需要2分钟。
内容图文
![javascript – URLSearchParams不返回与URL参数中找到的字符串相同的字符串](/upload/InfoBanner/zyjiaocheng/746/bcaaae096d184008b98907d7bf8ba907.jpg)
这至少在Chrome中.如果我的窗口网址是https://www.google.com/search?q=JavaScript URLSearchParams,我在JavaScript控制台中运行它:
url = new URL(document.URL);
urlsp = url.searchParams;
console.log(urlsp.get("q"));
然后记录到控制台的不是JavaScript URLSearchParams,而是JavaScript URLSearchParams.这很痛苦,因为我尝试编写的用户脚本需要访问q参数的实际值;并且浏览器不会对它们进行相同的处理.当然,我可以编写一些代码来处理URL作为字符串,但这将是乏味且容易出错的.值相同的事情发生在:参数中,但它返回为:而不是.如何让URLSearchParams返回URL参数的实际值?
解决方法:
I could write some code that would process the URL as a string, but
that would be tedious and error-prone
我不知道这一点,这是一个相当新的API,我们已经很长时间没有生存了.无论如何都有问题,最后我检查了API不支持参数数组,如foo [] = 1& foo [] = 2.它真的不是很复杂,只是滚动你自己的代码并不多:
class UrlParams {
constructor(search) {
this.qs = (search || location.search).substr(1);
this.params = {};
this.parseQuerstring();
}
parseQuerstring() {
this.qs.split('&').reduce((a, b) => {
let [key, val] = b.split('=');
a[key] = val;
return a;
}, this.params);
}
get(key) {
return this.params[key];
}
}
const params = new UrlParams('?q=Javascript+Stuff');
console.log(params.get('q'));
内容总结
以上是互联网集市为您收集整理的javascript – URLSearchParams不返回与URL参数中找到的字符串相同的字符串全部内容,希望文章能够帮你解决javascript – URLSearchParams不返回与URL参数中找到的字符串相同的字符串所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。