科尔多瓦。无法向按钮添加事件
Cordova. Can't add event to button
我试图让按钮在单独的 JS 脚本中使用事件侦听器执行某些操作。
我在浏览器中收到此错误(指的是 <body onload="onLoad()">
行):
Refused to execute inline event handler because it violates the following Content Security Policy directive...
这是我的 HTML:
<!DOCTYPE html>
<html>
<head>
<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="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
<link rel="stylesheet" type="text/css" href="css/index.css">
<title>Test</title>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
</head>
<body onload="onLoad()">
<div id="left_panel">
<div class="btn" id="add" onclick="insert()">Add</div>
</div>
<div id="list">
</div>
</body>
</html>
JS 脚本:
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
document.addEventListener("pause", onPause, false);
document.addEventListener("resume", onResume, false);
document.addEventListener("menubutton", onMenuKeyDown, false);
document.getElementById("list").addEventListener("insert", insert, false);
}
function insert() {
...
}
function onPause() {}
function onResume() {}
function onMenuKeyDown() {}
试试这个:
添加到配置。xml :
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
并在 index.html 中:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'; img-src * data: 'unsafe-inline'; connect-src * 'unsafe-inline'; frame-src *;">
<meta http-equiv="Content-Security-Policy" content="default-src * gap://ready file:; style-src 'self' 'unsafe-inline' *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *">
消息显示您的错误在 HTML 文档的第三行。有你的内容安全策略,仔细阅读错误并使用正确的参数添加 'script-src' 以激活 javascript 的执行:
script-src 'self' 'unsafe-inline' 'unsafe-eval'
我试图让按钮在单独的 JS 脚本中使用事件侦听器执行某些操作。
我在浏览器中收到此错误(指的是 <body onload="onLoad()">
行):
Refused to execute inline event handler because it violates the following Content Security Policy directive...
这是我的 HTML:
<!DOCTYPE html>
<html>
<head>
<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="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
<link rel="stylesheet" type="text/css" href="css/index.css">
<title>Test</title>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
</head>
<body onload="onLoad()">
<div id="left_panel">
<div class="btn" id="add" onclick="insert()">Add</div>
</div>
<div id="list">
</div>
</body>
</html>
JS 脚本:
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
document.addEventListener("pause", onPause, false);
document.addEventListener("resume", onResume, false);
document.addEventListener("menubutton", onMenuKeyDown, false);
document.getElementById("list").addEventListener("insert", insert, false);
}
function insert() {
...
}
function onPause() {}
function onResume() {}
function onMenuKeyDown() {}
试试这个:
添加到配置。xml :
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
并在 index.html 中:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'; img-src * data: 'unsafe-inline'; connect-src * 'unsafe-inline'; frame-src *;">
<meta http-equiv="Content-Security-Policy" content="default-src * gap://ready file:; style-src 'self' 'unsafe-inline' *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *">
消息显示您的错误在 HTML 文档的第三行。有你的内容安全策略,仔细阅读错误并使用正确的参数添加 'script-src' 以激活 javascript 的执行:
script-src 'self' 'unsafe-inline' 'unsafe-eval'