私はこの質問が何度も尋ねたことを知っていますが、解決策を見つけようとしましたが、利用可能なSOの質問から得られませんでした。
私はJavascriptの初心者です。 Cordovaを使用してAndroidでサンプル計算アプリケーションを作成しようとしています。そのため、cordovaプラグインを作成しました。しかし、2つの問題が継続的に発生しています。
"Uncaught SyntaxError: Unexpected identifier", source: file:///Android_asset/www/js/index.js (36)
ここにindex.JavaコードとperformCalculation()の最初の行を対象としたエラーがあります。
var app = {
// Application Constructor
initialize: function() {
this.bindEvents();
},
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
document.getElementById("btnCalculate").addEventListener("click", performCalculation);
},
onDeviceReady: function() {
app.receivedEvent('deviceready');
},
// Update DOM on a Received Event
receivedEvent: function(id) {
var parentElement = document.getElementById(id);
var listeningElement = parentElement.querySelector('.listening');
var receivedElement = parentElement.querySelector('.received');
listeningElement.setAttribute('style', 'display:none;');
receivedElement.setAttribute('style', 'display:block;');
console.log('Received Event: ' + id);
}
performCalculation: function (){
console.log("in index.html");
var success = function() {
alert("Success");
};
var error = function(message) {
alert("Oopsie! " + message);
};
performAddition(20,10,success,error);
}
};
app.initialize();
これは、私の2番目の例外です。
"Uncaught SyntaxError: Unexpected token .", source: file:///Android_asset/www/js/calculation.js (3)
そして、これはcalculation.jsのコードです
var calculationPlugin = {
console.log("calculation");
performAddition: function(first_number, second_number, successCallback, errorCallback) {
console.log("addition");
cordova.exec(
successCallback, // success callback function
errorCallback, // error callback function
'CalculationPlugin', // mapped to our native Java class called "CalculationPlugin"
'addition', // with this action name
[{ // and this array of custom arguments to create our entry
"firstNumber": first_number,
"secondNumber": second_number,
}]
);
}
}
最初の構文エラー
ReceivedEvent関数の後に「、」がありません。
2番目の構文エラー
計算プラグインはオブジェクトであり、コンソールが含まれているため、エラーがスローされます。そのオブジェクトからコンソールを削除します。
これを変更する必要があります:app.receivedEvent( 'deviceready'); to this.receivedEvent( 'deviceready');
そして、構文エラーのみがあります。そこにコード行番号を入力すると役立ちます。