0
私はAngularとIonic Frameworkの新機能で、cordova電子メールコンポーザープラグインを組み込みたいと考えています。しかし、これを完了できませんでした。ここに私のすべてのコードです。CordovaEmailComposerを使って作業する
私は、CLIインストールした:
ionic cordova plugin add https://github.com/katzer/cordova-plugin-email-composer.git
Index.htmlとを
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="cordova.js"></script>
<script src="js/openfb.js"></script>
<script src="js/ngopenfb.js"></script>
<script src="js/ngCordovaOauth.js"></script>
<script src="settings.js"></script>
<script src="js/angular-translate.min.js"></script>
<script src="translate.js"></script>
<script src="js/app.js"></script>
<script src="js/services.js"></script>
<script src="js/controllers.js"></script>
<script src="js/directives.js"></script>
<script src="js/ngStorage.js"></script>
<script src="js/ionic-close-popup.js"></script>
<script src="js/angular-base64.js"></script>
App.JS
angular.module('starter', ['ionic', 'starter.services', 'starter.controllers', 'starter.translate', 'ngStorage', 'ionic.closePopup', 'ab-base64', 'ngOpenFB', 'ngCordovaOauth','starter.directive'])
コントローラー:
.controller('EmailController', function($scope) {
$scope.sendEmail=function(EmailAddr){
var email =
{
to: '[email protected]',
subject: 'Test Message',
body: 'This is a test message',
isHtml: true
};
$cordovaEmailComposer.isAvailable().then(function() {
$cordovaEmailComposer.open(email).then(null, function() {
// user cancelled email
});
}, function() {
// not available
});
};
})
HTML:
<div class="list theme-forms" ng-controller="EmailController">
<button class="button button-block button-positive" ng-click="sendEmail()">SEND</button>
</div>
SENDボタンをクリックすると、次のエラーがクロームコンソールやメールに表示さは送信されません -
ionic.bundle.js:150 ReferenceError: $cordovaEmailComposer is not defined
at b.$scope.sendEmail (controllers.js:746)
at fn (eval at compile (ionic.bundle.js:260), <anonymous>:4:218)
at ionic.bundle.js:472
at b.$eval (ionic.bundle.js:176)
at b.$apply (ionic.bundle.js:177)
at HTMLButtonElement.<anonymous> (ionic.bundle.js:472)
at Pf (ionic.bundle.js:70)
at HTMLButtonElement.d (ionic.bundle.js:70)
at n (ionic.bundle.js:22)
at t (ionic.bundle.js:22)
あなたは私がここで見逃している何ヒントを与えるのに役立つだろうか?
EDIT 1
今私はindex.htmlを
js/ng-cordova.min.js
js/email_composer.js // form Plugin files
となってエラーコンソール上のJS、次のファイルを追加しました -
require is not defined
SENDボタンをクリックします -
TypeError: Cannot read property 'isAvailable' of undefined
コードを適用した後にコンソールでエラーが発生する - –
[$ injector:unpr] http://errors.angularjs.org/1.5.3/$injector/unpr?p0=ordovaEmailComposerProvider%20%3C-%20% 24cordovaEmailComposer%20%3C-%20EmailController –
ここで、index.htmlと 'js/ng-cordova.min.js'に 'js/email_composer.js'を追加しました。コンソールで 'require is not defined'と表示されました。 –