问题标签 [manifest.json]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Chrome.tabs 以未定义的形式返回 Web 应用清单
我的清单文件是manifest.json
我的 Background_Tabs.js 是
和 Atlast 我将清单文件添加到 index.html 网络应用程序 -
现在,当我在加载网页后看到我的控制台时 - 它返回为“chrome.tabs”的未定义。
我该如何解决这个问题?
android - PWA 不会在 android 上以独立模式打开
我正在尝试在最新的 Chrome 和 Android (7) 上实现添加到主屏幕。我在清单文件中指定了“独立”,但该应用程序仅在浏览器中打开。我之前在同一设备上获得了所需的行为,但似乎无法重现它。
我看到有人在这个问题上有类似的问题。我遵循了建议的解决方案 - 使用 Lighthouse 验证 PWA 属性 - 但即使 Lighthouse 获得完美的 100 分,我仍然无法让应用程序以独立模式打开。
有任何想法吗?
我的参考代码(也在GitHub 上并托管在 GitHub Pages 上):
索引.html
sw.js
清单.json
编辑:
我在 v63 和 Canary v66 上再次遇到了类似的问题,似乎使用 localhost 导致了同样的问题 - 无法独立启动。托管完全相同的代码并访问 HTTPS 站点使我能够独立启动。
google-chrome - Chrome 扩展背景脚本路径
我正在尝试从我的Chrome 扩展程序的 manifest.json 中的cdn 路径( ' https://cdn.xyz.com/scripts/background.js ' )加载后台脚本,但它向我抛出了错误 -无法加载后台脚本' https://cdn.xyz.com/scripts/background.js '。我已经在 manifest.json 文件的 content_security_policy 中添加了https://cdn.xyz.com。
清单.json
android - 未检测到清单,我想显示“添加到主屏幕”按钮
我在掌握 google chrome 的“Service Workers”和“Manifest.json”方面遇到了一些麻烦。
我的最终目标是当用户通过他们的移动设备在 android 上的 chrome 浏览我的一个网站时,会出现一个“添加到主屏幕”按钮。
所以我有我的 manifest.json,在根目录和<head>
标签中我有以下内容:
<link rel="manifest" href="/manifest.json">
当我第一次将它放在 head 标记中,然后转到桌面上 chrome 开发工具中的“应用程序”选项卡时,它看到了 manifest.json 并正确显示了其中的所有信息。然后,只要我浏览到同一域上的不同页面,开发工具就会显示消息“未检测到清单”。
我不知道为什么。很明显,如果我检查页面,转到该<head>
部分并找到link rel
,我右键单击 manfiest.json 链接并在新选项卡中打开 - 它可以完美加载。我也使用manifest.json 验证器对其进行了验证,它报告“成功:清单有效!”。
为什么会暂时退出?我怎样才能让这个该死的按钮出现?
旁注,我的服务人员代码(再次在 中<head>
)如下:
我在控制台“ServiceWorker 注册成功”中收到消息。 但是service-worker.js
文件中没有任何内容,肯定需要一些代码吗?我发现的教程都没有提到在其中放置任何数据。这很令人困惑。
scope - 从带有端口号的本地 IP 地址提供渐进式 Web 应用程序时,我应该在 manifest.json 文件中赋予范围属性什么值?
我的本地 Node JS 测试服务器上的 Web 应用程序清单范围存在问题。我无法获得正确的范围,因为 IP 地址上的端口号妨碍了我。我正在使用以下地址访问我的服务器:
当我使用 Chrome 开发工具查看我的清单时,在 Application 选项卡下,它显示清单文件的 url 为::2468/manifest.json
但:2468
不是我的根文件夹中的目录。
我将所有文件保存在根目录中,包括server.js
、manifest.json
和索引,称为my-app.html
在我的清单文件中,我有:
当我将代码上传到我的 Github Pages 站点时,一切都运行良好:工作示例。我认为问题出:2468
在我的 IP 地址后面。我没有像 Github Pages 这样的完全限定域名的问题。
如果我尝试将端口号放入清单的范围,如下所示:
它打破了我的清单的范围,我收到了这个警告:Manifest: property 'scope' ignored. Start url should be within scope of scope URL.
这很有意义,因为:2468
它不是我目录中的文件夹。这只是 Chrome 决定附加到我的清单文件的 url 的东西。
如何解决清单文件的范围以忽略端口号?为什么 Chrome 开发工具显示我的清单位于:2468
不存在的目录中?
这是一个问题的原因是因为我的 Web 应用程序无法在应用程序模式下打开,并带有全屏窗口和启动画面。它仅在带有 url 栏的浏览器中打开,并且似乎根本没有使用应用程序清单。
更新:2017 年 11 月 5 日
通过使用该 URL https://192.168.0.101:2468/my-app.html
,我可以访问我的 Web 应用程序,而无需:2468/
在清单 url 中显示开发工具。我的应用程序确实安装到主屏幕和应用程序抽屉,但它只在浏览器中打开,而不是带有启动屏幕的全屏应用程序。我没有收到有关清单范围的警告,并且我的服务人员注册并完美运行。我开始认为不能从 IP 地址安装渐进式 Web 应用程序,而只能从完全限定的域名安装。这可能是问题吗?
google-chrome-extension - Chrome Extension: Refused to load the script because it violates the following Content Security Policy directive: "script-src 'self'
I'm building a Chrome extension and using $.ajax (jsonp) to pull article titles and urls from a json array on a wordpress site.
If I GET from a https site, it works fine, however if I GET from a http site I get the following error.
Unfortunately it's not possible in this instance to use HTTPS on this particular site, so how do I allow a none http site in my Content Security Policy in my manifest.json or is it strictly https only?
android - PWA - 清单属性“显示”:“独立”不适用于 Android
我注意到我的 PWA 有一个非常奇怪的行为。我可以在 Windows 上以“独立”模式启动它,但是当我尝试在我的 Android 设备上执行相同操作时,它会忽略“独立”值并在 Chrome 中打开 URL(Android 7.0,Chrome-Android v62.x) . 它在 Chrome-Android Beta v63.x 中也不起作用(与这篇文章有关,指的是 chrome 62.x 中的错误)。我已经使用Manifest Validator和 Lighthouse 检查了清单文件。这两个工具都验证了文件并且没有向我显示任何错误/问题。“添加到主屏幕”对话框直接显示(在每次首次启动时),我可以将 PWA 添加到我的主屏幕。服务人员按预期工作,离线运行应用程序(在 Windows 和 Android 上)没有任何问题。
我正在使用笔记本上的代理在我的 Android 设备上进行测试(以防万一这可能相关)。我也尝试了不同的 Android 设备,但出现了同样的问题。
注意:不同的 PWA 按预期工作,例如2048 作为 PWA
这是我的 manifest.json :
清单文件链接在我的 index.html 的标题中,并带有其他移动设备:
该网络应用程序是使用 angular2 (angular-seeds) 构建的,以防万一有人遇到类似问题..
感谢您的时间和评论!
更新 1:
当我不使用代理从我的移动设备访问我的 PWA 而是通过本地网络的开放端口访问它时,独立功能可以正常工作(但服务工作者注册失败..)。我仍然不确定为什么代理会出现这个“错误”。
更新 2:
我真正的问题是,为什么会这样?另一个问题是,如果我找到的所有解决方案都有妥协,我如何才能真正在真实的移动设备上测试我的 PWA 的行为和感觉?关于开发环境..
我在安卓设备上的测试方式:
- 打开我的笔记本的一个端口并通过我的笔记本的 ip 地址访问我的本地网络内部(服务人员无法工作,因为不是 https 也没有本地主机,但 pwa 以独立模式启动 -.-)
- 将 Android 设备上的代理设置为我的笔记本的 ip(服务工作者工作,独立模式失败)
javascript - Firefox 57 全屏模式仍未生效
刚刚在我的 Android 上安装了期待已久的 Firefox 57,很失望地看到全屏仍然无法工作 :-( 尽管它在这里被预告了
“现在,Firefox for Android 57 支持 Web App Manifest 显示字段的全屏值(错误 1126479)。”
有没有人有这个工作?
以我的Brotkrumen Web App 为例。
这是我的清单:-
ruby-on-rails - Rails 5.1 api webpacker 和 vuejs
我正在尝试使用 Cloud9 上的 webpacker 在 VueJs 中创建 Rails API 和客户端。
标准安装后:npm install -g yarn && rails _5.1.4_ new . --api --webpack=vue
我正在使用Foreman来启动 rails 和 webpack,这是文件。
我将开发部分更改为config/webpacker.yml
:
启动foreman start
webpack 时,会创建public/packs/manifest.json
包含以下对象的内容。
我创建了一个public/index.html
包含以下内容的文件
现在,当我转到 URL 时Hello World from Webpacker
,我的 JavaScript 控制台和Hello Vue!
浏览器中有 。
我的问题是:是否可以使用生成的这个manifest.json
来自动启动好的文件(js,css)以及如何?