【问题标题】:How Can I Fix Firefox Breaking My Site With Content-Security-Policy Warnings?如何修复 Firefox 通过内容安全策略警告破坏我的网站?
【发布时间】:2017-09-03 20:35:18
【问题描述】:

该网站在 Chrome/iOS/Safari/Android 上运行良好(您应该能够选择图像并继续在下一步中编写消息)。 Firefox 拒绝运行我的项目的主脚本(您无法选择图像或继续),并在控制台中给出以下错误:

> Content Security Policy: Directive ‘frame-src’ has been deprecated.
> Please use directive ‘child-src’ instead. (3) Unknown

它非常神秘。我尝试了以下方法:

1) 在标头中为 CSP 添加元标记。

结果:如果是限制性的,则会产生更多的错误,如果是,则会产生相同数量的错误 留给所有参数的通配符。

2) 本地提供所有脚本。

结果:我仍然收到三个未知的 CSP 错误。它也加载了很多 较慢,因为依赖项不是从 CDN 加载的。

3) 删除特定脚本。

结果:它最多可将错误减少一,但似乎所有脚本 同等负责。非常奇怪的行为。

这是 Firefox 中无法解决的错误吗?我正在为此撕毁我的头发。

【问题讨论】:

  • 您需要将问题缩小到一个小的、可重现的示例。 (我只是快速浏览了一下,你的网站在 macOS 上的 Safari 和 Firefox 中对我来说是一样的。从你的描述中我无法判断我看到的结果是你所说的工作还是损坏......)
  • 它在两台不同的计算机上坏了,Windows 10 和 Sierra 上的 Firefox 和 Edge。至少对我来说这是非常可重复的。您在控制台中看到相同的错误吗?如果你这样做了,那会很有帮助,因为可能会有一些奇怪的缓存问题,比这更有意义。您可以通过单击图像制作一个绿色复选框并继续到下一页来写一条消息吗?旋转木马滑动,仅此而已。
  • 作为一个实验,如果将点击处理程序移动到$(document).ready(function() {... 部分会发生什么?我有一个模糊的怀疑,有时它们没有被正确添加,因为 DOM 还没有准备好。
  • 天哪,就是这样。非常感谢!我走上了一条非常令人沮丧的道路。我将一些东西重构为 jQuery,它解决了 Firefox 中的一些奇怪的类型错误,但是当我解决这些问题时,我认为剩余的 CSP 错误可能会破坏脚本,因为这是我随机阅读的内容。这使我的代码变得一团糟,并且我的故障排除在外。

标签: firefox


【解决方案1】:

我需要将监听器放在 $(document).ready 中,因为 Firefox 加载的内容与 Matt Gibson 指出的不同。

内容安全策略并未导致脚本失败。但是,这是一条奇怪的错误消息,无法告诉您错误的来源,并且可能会破坏网站,但这不是这里发生的情况。

【讨论】:

    猜你喜欢
    • 2020-12-06
    • 1970-01-01
    • 2017-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 2019-01-14
    相关资源
    最近更新 更多