javascript - 科尔多瓦 Jquery 和 javascript 无法运行
问题描述
我正在尝试使用 Cordova 构建一个应用程序。可悲的是,我的 javascript 由于某种原因无法工作......有人可以帮助解决这个问题吗?
我在 index.html 中拥有的所有(现在)
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="viewport" content="initial-scale=1, width=device-width, viewport-fit=cover">
<meta name="color-scheme" content="light dark">
<link rel="stylesheet" href="css/index.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<title>Hello World</title>
</head>
<body>
<div class="app">
<h1 id="title">Test</h1>
<p id="change">The <span class="blink">best</span> app</p>
<button id="btn">Change content of all p elements</button>
</div>
<script src="js/test.js"></script>
</body>
在 js/test.js 中:
$("#btn").click(function(){
$("#change").html("<b>Hello world!</b>");
});
所以不应该有太多可能出错的地方,除非它确实......
编辑:即使是普通的 Javascript 也行不通?
解决方案
正如控制台消息所阐明的,您的内容安全策略正在阻止外部 jquery 脚本。您需要在 CSP 中允许该外部脚本。为此,您需要更改此元标记
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">
至
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;script-src https://ajax.googleapis.com">
我们刚刚添加了一个script-src规则来将我们的 jquery 脚本列入白名单。
要了解更多信息,您可以查看此帖子
推荐阅读
- haskell - 从列表中制作奇数列表
- javascript - 如何在 React 中使用地图内的地图?
- c# - 无法使用 Migrate.exe 在 VSTS 上运行 Entityframework 代码首次迁移
- python - 如何创建一个可以在 Python 中将数据流式传输到的文件?
- qt - Qt 如何在 Linux 中以编程方式正确连接手机(蓝牙 A2DP、AVRCP、HSP、HFP)
- javascript - 在 D3 X 轴图上放置自定义标签
- r - rollapplyr 按日期关联的缺失记录
- ios - 为什么我的应用因应用内购买而被拒绝?
- angularjs - 在带有 Typescript 的 AngularJS 中使用 templateURL 的函数
- javascript - 从构造函数中创建构造函数