我一直试图从我的Chrome书中制作一个Kiosk模式应用程序.但是,当我进入"管理自助服务终端应用程序"并输入我的应用程序的Chrome商店网址时,我收到"无效的应用程序"错误,但如果我只是从商店安装该应用程序,它安装就好了(虽然它没有不显示扩展页面,但在应用程序菜单中显示.
所以我假设我已经对App manifest做错了.这是我的清单(只是更改了名称和URL,因为它是私有应用程序)
{
"name": "App Name",
"description": "App Description",
"manifest_version": 2,
"version": "1",
"app": {
"urls": [
"http://my.domain.com/"
],
"launch": {
"web_url": "http://my.domain.com/app.html"
}
},
"icons": {
"128": "icon_128.png"
},
"kiosk_enabled": true
}
Run Code Online (Sandbox Code Playgroud)
根据我的理解,我只需要"kiosk_enabled": true包含在清单中.有谁知道我做错了什么?
我创建了一个非常简单的基于webview的Chrome应用程序 - 它几乎与Google 使用文本编辑器创建一个简单的自助服务终端应用程序相同,但更简单的是它没有重置或任何其他按钮只是我的网页内容.
这在由策略或手动提供的大多数普通信息亭情况下都很有效,但是在实时环境中我需要部署此应用程序我是一个非常严格的防火墙,只有使用HTTP代理(Squid)才能访问Internet.在这种情况下,webview内容从不显示,应用程序似乎陷入初始化阶段.
我可以访问代理日志,并且可以看到使用代理永远不会请求webview的内容 - 对Google服务器的其他HTTPS请求似乎正常工作.通过部署网络嗅探器,我可以看到防火墙正在丢弃的直接请求正在尝试访问webview内容.
我想要的配置是使用自动机制在CrOS下配置代理,http://wpad/wpad.dat但我尝试手动配置,通过托管策略提供此配置,以及本地提供所有可能的组合,我的结果看起来都一样; 自助服务终端应用中的webview似乎忽略了系统配置的代理.
如果kiosk_enabled在受限制的环境中使用应用程序的Kiosk模式,则webview会正确选择已登录用户的代理设置.只有在适当的信息亭模式下,webview才会忽略代理设置.
我的研究似乎表明,webview不能通过API手动配置其代理,尽管似乎有一个Chromium问题(172285)要求这样做; 和其他自助服务终端应用程序在我的受限制环境中展示相同的问题,包括谷歌自己的Sign Builder应用程序.所以也许我正在尝试做的只是不可能(一个错误?)虽然我没有找到任何文件来暗示这一点.我真的希望有一些解决方法可以使webview与系统代理设置一起工作,并且有人阅读它知道并愿意分享它.
我已经成功实现了我自己的hacky解决方法,因为我可以完全控制代理,如果不是防火墙,它为我的kiosk应用程序的webview访问设置了一个反向代理配置,因此看来webview 不需要代理因为看起来该网站是防火墙局域网的本地.这不是一个非常通用的解决方案,我相信会有其他人没有这个选项.
提前感谢任何建议或反馈,
干杯
/丹