javascript - PWA : How to have dynamic "start_url" in manifest. json

标签 javascript progressive-web-apps

我正在创建 PWA 并偶然发现 manifest.json 文件中的“start_url”存在问题。我试图变成 PWA 的网站取决于查询参数,而 "start_url":"/"不会获取查询参数。
我尝试从 manifest.json 中删除 start_url,这似乎允许将应用程序添加到主屏幕(在 iOS 上),但我猜在 android 上,如果没有 start_url,安装提示不会出现?
有人遇到过类似的问题吗?

最佳答案

您可以像这样创建动态 list :https://stackoverflow.com/a/57856162/8716572
然后你可以做一些类似“start_url”的事情:“your-url?query="+ queryValue.

<link rel="manifest" id="my-manifest-placeholder">

var myDynamicManifest = {
  "name": "App name",
  "short_name": "short",
  "start_url": "your-url?query=" + queryValue
  "background_color": "#000000",
  "theme_color": "#0f4a73",
  "icons": [{
    "src": "icon.png",
    "sizes": "512x5126",
    "type": "image/png"
  }]
}

const stringManifest = JSON.stringify(myDynamicManifest);
const blob = new Blob([stringManifest], {type: 'application/json'});
const manifestURL = URL.createObjectURL(blob);
document.querySelector('#my-manifest-placeholder').setAttribute('href', manifestURL);

var link = document.createElement('Link');
link.rel = "manifest";
link.setAttribute('href', 'data:application/json;charset=8' + stringManifest)

关于javascript - PWA : How to have dynamic "start_url" in manifest. json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69742188/

相关文章:

javascript - 使用从 PHP 生成的 HTML 调用的函数 AJAX 更新 MYSQL 数据库

javascript - 直接从 JS 提交 PHP 表单(无 HTML)

javascript - 如何检测我的网站/PWA 是否已加载到前台?

javascript - 有没有办法在网络应用程序中以编程方式播放音频?

angular - 如何在滚动时隐藏 IOS safari 地址栏?

javascript - 如何在 PWA 中使用动态 list 文件?

javascript - 报告服务出现奇怪的 IE 渲染问题

javascript - 是否可以检索匿名 JavaScript 对象?

javascript - 没有日历的日期验证插件

angularjs - 是否可以将使用 angular 1 编码的 webapp 转换为 PWA(Progressive Web App)?