我使用manifest.json文件中的静态变量来创建功能,如下所示:
- 名称 - 短名称 - 启动网址(start_url)
对于“添加到主屏幕”而言,这种方法有效。 但是当我动态设置manifest.json变量时,“添加到主屏幕”就无法工作。
基本上,我有一个电子商务渐进式网络应用程序。我的要求是:如果用户访问应用网址(例如:www.example.com/products/PRODUCT_NAME_A),他应该能够在主屏幕上创建快捷方式链接或多个链接,具体取决于不同的URL。
您还可以检查我在JavaScript中实现的代码:
var domain = document.location.origin;
var currentUrl = window. location. href;
var myDynamicManifest = {
"name": "My App",
"short_name": "My App",
"description": "This is my App",
"start_url": currentUrl,
"scope": ".",
"background_color": "#5F6EDD",
"theme_color": "#efbc4b",
"orientation": "portrait",
"display": "standalone",
"lang": "en",
"dir": "ltr",
"icons": [
{
"src" : domain + "/images/logo/logo_70x70.png",
"sizes" : "70x70",
"type" : "image/png"
},
{
"src" : domain + "/images/logo/logo_120x120.png",
"sizes" : "120x120",
"type" : "image/png"
},
{
"src" : domain + "/images/logo/logo_144x144.png",
"sizes" : "144x144",
"type" : "image/png"
},
]
}
const stringManifest = JSON.stringify(myDynamicManifest);
const blob = new Blob([stringManifest], {type: 'application/javascript'});
const manifestURL = URL.createObjectURL(blob);
document.querySelector('#manifest').setAttribute('href', manifestURL);
我希望输出结果如下:http://prntscr.com/oej48u。此内容与IT技术有关,请让我知道您是否需要进一步的翻译。