javascript - 如何使用元标记在 manifest.json 文件中添加 Urls 和 web_Urls

标签 javascript angularjs progressive-web-apps

我正在创建一个渐进式网络应用程序,我需要在 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/

相关文章:

javascript - 从 C# 应用程序向 Angular 页面发送发布请求

javascript - 在移动端浏览 PWA

progressive-web-apps - target=_blank 的链接在浏览器中打开

single-page-application - 使用渐进式Web应用程序(PWA)准则有什么好处?

javascript - React-Webcam : How can I solve "Object is possibly ' null' ."and "Type 'null' is not assignable to type 'string | undefined' .“?

javascript - ng-repeat 没有父容器

javascript - 有没有办法让 Ubuntu 服务器在 NPM 进程失败时自动重新启动?

javascript - 如何从html调用javascript函数?

javascript - 如何将 javascript 函数的参数添加到 url 中?

javascript - 垃圾回收和 DocumentFragment