- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在我本地域的网页中,两者都jq.src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js";
jq.src = http://127.0.0.1/js/jquery-3.3.1.min.js
可以加载。
在stackoverflow的网页中,右击进入chrome的inspect--console。
const jq = document.createElement('script');
jq.src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js";
document.head.appendChild(jq);
jq.addEventListener('load', () => {
console.log("hello world");
console.log($ === jQuery);
});
可以加载远程jquery.js文件,现在用本地js文件替换它--http://127.0.0.1/js/jquery-3.3.1.min.js
。
为什么我本地的apache2加载不出来js文件?
最佳答案
您正在访问的站点可以应用 javascript 的安全策略 - 其中包括调试器。我认为您看到的是与您正在访问的网页相关联的内容安全策略的应用。
您可以在页眉中看到这一点。在 Chrome 中(如 explained here ),您可以查看随页面发送的 html header :
打开开发人员面板,选择“网络”选项卡,然后重新加载页面。
对于 stackoverflow,在“stackoverflow.com”的“名称”列下查找 - 如果您最初是通过 http 加载的,则可能有两个,因此找到一个 https - 可能是第二个。单击那个,然后选择右侧的“标题”选项卡。您将在响应 header 中看到:
content-security-policy: upgrade-insecure-requests
这解释了here .
基本上,它告诉浏览器所有 http 请求都应该“升级”为 https。所以当你尝试访问http://127.0.0.1/...
时,你的浏览器将请求升级为https://127.0.0.1/...
,您的本地服务器可能无法处理。
这不仅限于 Chrome - 所有现代浏览器 should do this .
例如,我使用 Safari 浏览了一些网站,在某些情况下,收到一条错误消息,例如 GitHub :
Refused to load https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js because
it does not appear in the script-src directive of the Content Security Policy.
这是您可以阅读的另一种内容安全策略 here .
关于javascript - 为什么无法在我的本地 apache2 服务器中加载 js 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51943897/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!