我正在创建一个渐进式网络应用程序,我需要在 manifest.json
中添加当前 URL使用元标记的文件。
我创建了这个 manifest.json
:
{
"name": "app",
"icons": [{
"src": "images/avatar.jpg",
"sizes": "64x64"
}, {
"src": "images/avatar.jpg",
"sizes": "64x64"
}, {
"src": "images/avatar.jpg",
"sizes": "128x128",
"density": 2
}],
"app": {
"urls": [
"https://www.example.com"
],
"launch": {
"web_url": "https://www.example.com"
}
}
"theme_color":"#06ADD5",
"display": "standalone",
"orientation": "portrait"
}
上面的 JSON 在静态 URL 和 Web URL 中工作正常,但我想让它作为动态 URL 工作(例如:www.example.com/<PRODUCT_ID>
)
最佳答案
该 JSON 不遵守 Web App Manifest specification ,这是 Chrome 和 Firefox 当前在将网络应用程序添加到设备的主屏幕时用于元数据的内容。具体来说,您希望使用 start_url
property指定要打开的初始 URL。
无论如何,自定义/path/to/manifest.json
内容的问题基于某些标准只是归结为您通常如何在将资源返回给客户端之前对任何资源进行服务器端自定义。您可以传入一个 URL 参数,例如 /path/to/manifest.json?start_url=*something*
,然后让您的 Web 服务器返回一个不同的 start_url
JSON 响应中的值基于某物 是什么。
如果您无法实现服务器端逻辑,可能是因为您只是部署静态文件并对所有内容使用客户端呈现,那么最好的办法是生成多个 manifest-*something*.json
提前提交文件,每个文件都有不同的start_url
值,然后设置 <link rel="manifest">
每个页面上的标记指向适当的 manifest-*something*.json
URL,基于任何对您有意义的标准。
关于javascript - 如何使用元标记在 manifest.json 文件中添加 Urls 和 web_Urls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41162262/