如何在LWC社区页面中形成一个可以携带用户信息的URL?
How to form an URL in LWC Community Page that can carry User Info?
我正在使用 LWC 在 Lightning Community Experience Builder 中构建一个 Web 应用程序,它已经有一个 URL 承载我的组织的域。
现在我想将 URL 连同附加到其末尾的 Id 移交给用户,这样当用户访问该站点时,我可以使用 JS 从 URL 中检索 Id。
例如,
原文URL:cs-123.aig.lightning.force.com/form
用户登陆: cs-123.aig.lightning.force.com/form?userId=123
我必须能够在使用 renderedCallBack 或 connectedCallBack 加载组件时检索 userId。
提前致谢。
注意:LWC 提供的 Lightning Navigation Service,在 Salesforce、LEX 之外不起作用。
普通JavaScriptURLSearchParams应该就够了。我的项目中有类似的东西,并且在社区中工作正常,页面上嵌入了 LWC。
connectedCallback() {
// Try to read the preselected id from URL
if (window.location.href) {
try {
let url = new URL(window.location.href);
let id = url.searchParams.get('id');
if (id) {
this.userId = id;
}
} catch (e) {
if (console) {
console.log(JSON.stringify(e));
}
}
}
}
我正在使用 LWC 在 Lightning Community Experience Builder 中构建一个 Web 应用程序,它已经有一个 URL 承载我的组织的域。
现在我想将 URL 连同附加到其末尾的 Id 移交给用户,这样当用户访问该站点时,我可以使用 JS 从 URL 中检索 Id。 例如,
原文URL:cs-123.aig.lightning.force.com/form
用户登陆: cs-123.aig.lightning.force.com/form?userId=123
我必须能够在使用 renderedCallBack 或 connectedCallBack 加载组件时检索 userId。
提前致谢。
注意:LWC 提供的 Lightning Navigation Service,在 Salesforce、LEX 之外不起作用。
普通JavaScriptURLSearchParams应该就够了。我的项目中有类似的东西,并且在社区中工作正常,页面上嵌入了 LWC。
connectedCallback() {
// Try to read the preselected id from URL
if (window.location.href) {
try {
let url = new URL(window.location.href);
let id = url.searchParams.get('id');
if (id) {
this.userId = id;
}
} catch (e) {
if (console) {
console.log(JSON.stringify(e));
}
}
}
}