【发布时间】:2017-05-20 18:52:45
【问题描述】:
我有一个 chrome 扩展,在开发中使用 HTTP 通信,在生产中使用 HTTPS。
我从使用 HTTPS 的网页运行它。
当我在开发模式下使用此扩展时,我收到以下错误。
混合内容:“https://somesite.com”处的页面通过 HTTPS 加载,但请求了不安全的 XMLHttpRequest 端点“http://david-sniper.local:3001/api/end-point”。此内容也应通过 HTTPS 提供。
过去我可以通过阅读这篇文章how-to-get-chrome-to-allow-mixed-content来解决这个错误
这篇文章有两个解决方案。
- "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-running-insecure-content
- 在地址栏右端应该有一个“盾牌”图标,你可以点击它来运行不安全的内容。
第一个解决方案我从来没有成功过,但是您单击“盾牌”图标的第二个解决方案直到几周前才起作用。
我现在使用的是 Chrome 55,并且没有可以点击的 Shield 选项,所以我想知道如何让混合内容在开发者模式下工作?
【问题讨论】:
-
虽然这不是您所要求的,但正确的答案是您使您的开发环境尽可能接近于您的生产环境。换句话说,两者都使用 HTTPS。让您的开发环境,或者至少是您的开发测试环境与您的生产环境不同,只是在将代码从开发转移到生产环境时提出问题,而这真的不是 当你想发现问题时。
-
console的消息是警告,而不是错误,是吗? -
实际请求被阻塞,例如没有执行对 jora-list 的调用,因此虽然消息是警告,但效果是代码损坏。
-
有一个chrome启动参数可以禁用所有安全。调查一下。
标签: javascript ajax google-chrome google-chrome-extension mixed-content