访问pwa地址的url参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了访问pwa地址的url参数相关的知识,希望对你有一定的参考价值。
我是离子2的新手。在搜索到处后,我无法找到直接答案,给出以下情况:
- 我正在用离子2构建一个PWA(因为我稍后会开发这个应用程序的混合版本)
- 用户将找到并访问我的应用程序的地址将是
https://welcometotheapp.com?viewid=0101018737abcdefg
等标准域 - 我正在使用离子2,最近安装在Windows 10上
- 我已经开始了一个新的空白应用项目
- 我的问题与导航无关。
我的问题是如何访问url参数viewid
?我需要这个参数,以便应用程序将它发送到我的服务器端REST api并获取正确的json数据。我的用户通过SMS接收带有参数的URL作为链接。我试图利用像this question这样的建议
但是我正在转动我的车轮。我也看过很多来自Josh Morony和其他人的youtube视频,但是没有直接关系。
有人可以帮忙解决这个问题吗?作为一个新手,如果在给出ionic2空白模板结构的文件中使用什么代码注释代码剪辑将会非常有用。谢谢偷看!
答案
你可以试试普通的旧javascript。我不认为这是离子特有的。因为它不是主要基于导航,所以NavParams
不起作用,我猜。
在.js
你可以像这样做一个split
let myParam = location.search.split('viewid=')[1];
请注意,如果没有viewId=
,则变量将是未定义的。以下是location.search的文档
另一答案
我不得不使用Location
的@angular/common
。所以我相信值得发布另一个答案:
import { Location } from '@angular/common';
...
public urlParams: any;
constructor(..., public location: Location) {
this.initializeURLParams();
console.log(this.urlParams);
}
initializeURLParams() {
const path = this.location.path(true),
hasParams = /?(.+?=.+){1}/;
let params;
if (hasParams.test(path)) {
params = {};
path.split('?')[1].split('&').forEach(both => {
let e = both.split('=');
params[e[0]] = e[1];
});
}
this.urlParams = params;
}
以上是关于访问pwa地址的url参数的主要内容,如果未能解决你的问题,请参考以下文章