#javascript #html #cordova #phonegap-plugins
#javascript #HTML #кордова #phonegap-плагины
Вопрос:
Вот мой файл javascript ниже, и я получаю сообщение об ошибке «Ошибка: TypeError: не удается установить для свойства ‘innerHTML’ значение null» . Какие изменения я должен внести, чтобы он работал нормально. Заранее спасибо. Пожалуйста, помогите.
var scanCode = function() {
window.plugins.barcodeScanner.scan(
function(result) {
alert("Scanned Code: " result.text
". Format: " result.format
". Cancelled: " result.cancelled);
document.getElementById("d").innerHTML="result.text";
window.location.href = 'page5.html';
}, function(error) {
alert("Scan failed: " error);
});
}
Я получаю ошибку как:
06-24 11:55:08.130: W/FlashlightManager(7817): at java.lang.reflect.Method.invoke(Method.java:511)
06-24 11:55:08.130: W/FlashlightManager(7817): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-24 11:55:08.130: W/FlashlightManager(7817): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-24 11:55:08.130: W/FlashlightManager(7817): at dalvik.system.NativeStart.main(Native Method)
06-24 11:55:08.540: D/OpenGLRenderer(7817): Flushing caches (mode 0)
06-24 11:55:08.870: D/OpenGLRenderer(7817): Flushing caches (mode 0)
06-24 11:55:14.920: D/PhoneGapLog(7817): Error in success callback: BarcodeScanner2 = TypeError: Cannot set property 'innerHTML' of null
06-24 11:55:14.920: D/PhoneGapLog(7817): file:///android_asset/www/phonegap-1.4.1.js: Line 692 : Error in success callback: BarcodeScanner2 = TypeError: Cannot set property 'innerHTML' of null
06-24 11:55:14.930: I/Web Console(7817): Error in success callback: BarcodeScanner2 = TypeError: Cannot set property 'innerHTML' of null at file:///android_asset/www/phonegap-1.4.1.js:692
вот HTML-код, в котором я вызываю вышеупомянутую js-функцию
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no, width=device-width">
<title>Bar Code Scanner</title>
<link rel="stylesheet" href="main.css" type="text/css">
<script type="text/javascript" charset="utf-8" src="phonegap-1.4.1.js"></script>
<script type="text/javascript" src="barcodescanner.js"></script>
<script type="text/javascript" src="main.js"></script>
</head>
<body id="stage" class="theme">
<h1>Barcode Scanner and Encoder</h1>
<h2>PhoneGap Barcode Scanner Plugin</h2>
<a href="#" class="btn" onclick="scanCode();">Scan Code</a>
</body>
</html>
и вот еще один html-файл, в котором мне нужно распечатать результат.
<!doctype html>
<html>
<head>
<script type="text/javascript" charset="utf-8" src="phonegap-1.4.1.js"></script>
<script type="text/javascript" src="main.js"></script>
</head>
<body>
<p id="d"></p>
</body>
</html>
Комментарии:
1. В сообщении об ошибке сообщается, что элемент с идентификатором
d
не существует.2. Итак, как я должен это определить? Я новичок. Я действительно не знаю. Пожалуйста, помогите
3. Вы добавляете элемент на свою HTML-страницу. Что-то вроде
<div id="d"></div>
.4. Я добавил этот элемент, но все равно получаю сообщение об ошибке
5. Попробуйте переместить вызовы скрипта непосредственно перед
</body>
тегом.
Ответ №1:
Попробуйте это ::
Page1.html:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no, width=device-width">
<title>Bar Code Scanner</title>
<link rel="stylesheet" href="main.css" type="text/css">
<script type="text/javascript" charset="utf-8" src="phonegap-1.4.1.js"></script>
<script type="text/javascript" src="barcodescanner.js"></script>
</head>
<body id="stage" class="theme">
<h1>Barcode Scanner and Encoder</h1>
<h2>PhoneGap Barcode Scanner Plugin</h2>
<a href="#" class="btn" onclick="scanCode();">Scan Code</a>
</body>
<script type="text/javascript">
var scanCode = function () {
window.plugins.barcodeScanner.scan(
function (result) {
alert("Scanned Code: " result.text ". Format: " result.format ". Cancelled: " result.cancelled);
localStorage.setItem("myvalue", result.text);
window.location.href = 'page2.html';
}, function (error) {
alert("Scan failed: " error);
});
}
</script>
</html>
Page2.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Checkd Control</title>
<meta charset="UTF-8">
<script type="text/javascript" charset="utf-8" src="phonegap-1.4.1.js"></script>
</head>
<body>
<p id="d"></p>
</body>
<script type="text/javascript">
var barcodeVal = localStorage.getItem("myvalue");
document.getElementById("d").innerHTML = barcodeVal;
</script>
</html>
Комментарии:
1. Когда я запускаю следующий код, я получаю сообщение об ошибке «scanCode не определен».
2. Извините, я вас не понял. Я попробовал ваш ответ, но не смог обнаружить функцию scanCode ().
3. отредактируйте свой вопрос, вставьте полный код js или html