当前位置:  开发笔记 > 编程语言 > 正文

通过HTTP测试服务工作者的选项

如何解决《通过HTTP测试服务工作者的选项》经验,为你挑选了3个好方法。

我想测试服务工作者,但我有一个虚拟主机设置,我似乎无法在localhost上启用https.

每当我尝试在localhost上注册服务工作者时,如何将本地虚拟主机URL列入白名单以测试服务工作者?Chrome表示https是启用服务工作者所必需的.如何至少在本地测试中超越此限制.



1> Jeff Posnick..:

通常,您需要通过HTTPS为您的页面和服务工作者脚本提供服务,以便使用服务工作者.理由是在Prefer Secure Origins For Powerful New Features中描述的.

对于促进本地开发的HTTPS要求有一个例外:如果您通过http://localhost[:port]或通过访问您的页面和服务工作者脚本http://127.x.y.z[:port],那么应该启用服务工作者而无需任何进一步的操作.

如果由于某种原因,您需要通过除chrome://flags/#unsafely-treat-insecure-origin-as-secure或之外的主机名访问本地Web服务器devtools.serviceWorkers.testing.enabled,或者如果您需要在不支持HTTPS的远程Web服务器上进行测试,则可以使用手动解决方法.它涉及通过命令行启动Chrome,并使用http://localhost[:port]http://127.x.y.z[:port]标志.

此错误包含更多详细信息,包括如何启动Chrome 的完整示例.

Firefox 通过设置提供类似的功能chrome://flags/#unsafely-treat-insecure-origin-as-secure.

请注意,此功能用于促进无法进行的测试,并且在提供站点的生产版本时应始终计划使用HTTPS.不要让真实用户完成启用这些标志的步骤!


对于任何有麻烦找到上述的人 - 打开FF - dev工具 - 设置齿轮 - 高级设置 - 启用sw over http.然后你可以转到:在工具栏中调试#工具中的#workers或工具 - web dev - service workers.启动工人!

2> Christopher ..:

如果您想调试插件移动设备的服务工作者以进行渐进式Web应用程序的真实行为测试,则ssl chrome启动选项无效,您绝对不需要购买证书.

@ chris-ruppel提到安装代理软件,但实际上有一种更简单的方法使用端口转发:

假设您使用Chrome连接并调试设备:

Chrome开发工具"远程设备"中打开"设置"并添加"端口转发"规则.

如果您的localhost安装程序在localhost:80上运行,

只需添加规则"设备端口8080"(可以是任何无特权的端口> 1024)

和本地地址"localhost:80"(或mytestserver.sometestdomainwithoutssl.company:8181或其他)

执行此操作后,您可以移动设备调用URL" http:// localhost:8080 ",它将在您的实际PC /测试服务器上由"localhost:80"应答.与服务工作人员完美配合,就好像是您的移动设备上运行的本地计算机一样.

只要您记得在移动设备上使用非特权端口,也可用于多个端口转发和不同的目标域.看截图: 查看某些已配置端口的屏幕​​截图,这些端口将在移动设备上呼叫时调用PC

此信息的来源是google远程设备文档:https://developers.google.com/web/tools/chrome-devtools/remote-debugging/local-server (但截至2017年4月,此内容尚不清楚简单的回答吧)


那应该是公认的答案,它工作正常

3> Chris Ruppel..:

我经常想在真实设备上进行调试和测试.我提出的一种方法是在本地开发期间通过Charles Proxy路由电话的网络流量.与所有特定于Chrome的解决方案不同,这适用于手机上的任何浏览器.

    在我的笔记本电脑上运行Charles(也可以通过Service Worker为我的网站服务).Charles运行后,请注意步骤2的IP /端口.

    配置移动设备以将我的笔记本电脑用作代理.

    对于Android,只需在设置> 修改网络 > 高级设置 > 代理中点击并按住WiFi即可.使用手动设置IP /端口.

    对于iOS,请单击(i)图标> HTTP代理部分.选择手动,然后设置IP /端口.

    localhost现在,在我的移动设备上访问可以让服务工作者进行注册和测试.


我也面临着这个问题,非常感谢.要测试移动,没有代理就完全不可能.这篇文章需要更多的选票.
推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有