Cordova 용 Card.io 플러그인 구현에 문제가 있습니다. 내가Cordova Card.IO 플러그인 구현
$ cordova plugin add https:///...
를 수행하여 급락을 추가 그리고 그들이 GitHub의 페이지에 추가 할 수 말할 버튼을 추가 https://github.com/card-io/card.io-Cordova-Plugin
: 설치 및 플러그인을 구현하는 방법의 GitHub의 페이지에 대한 지침이 있습니다. 이 시점까지는 내가해야 할 모든 것을 내가하고 있다고 확신한다. 여기에 문제가 생겼으니 앱의 실제 구현입니다. 내 애플 리케이션에서 UI 프레임 워크를 사용하고, 나는 index.js 파일을 가지고 있지 않으며 표준 코드의 코드처럼 보이지도 않는다. deviceReady 핸들링. 나는 단지 ...
나는 콜백에 익숙하지만, 어떤 예를 들어 어떤 실마리가 없다. 전체 "예 : function() {..."은 완전히 새로운 것입니다.
누군가가 잘 구조화되어 있고 조금 더 합리적인 몇 가지 기능이되도록 예제를 다시 작성할 수 있습니까?
나는 내 코드는 지금과 같이 찾고,이 일을 시도 :.ready(function() {
CardIO.canScan(onCardIOCheck);
});
function onCardIOComplete() {
var cardIOResponseFields = [
"cardType",
"redactedCardNumber",
"cardNumber",
"expiryMonth",
"expiryYear",
"cvv",
"postalCode"
];
var len = cardIOResponseFields.length;
alert("card.io scan complete");
for (var i = 0; i < len; i++) {
var field = cardIOResponseFields[i];
alert(field + ": " + response[field]);
}
}
function onCardIOCancel() {
alert("card.io scan cancelled");
}
function onCardIOCheck(canScan) {
alert("card.io canScan? " + canScan);
var scanBtn = document.getElementById("scanBtn");
if (!canScan) {
scanBtn.innerHTML = "Manual entry";
}
scanBtn.addEventListener("click", function(e) {
var options = {
"requireExpiry": true,
"requireCVV": false,
"requirePostalCode": false,
"restrictPostalCodeToNumericOnly": true
};
CardIO.scan(options, onCardIOComplete, onCardIOCancel);
});
}
이 그래도 작동하지 않습니다. .ready() 함수 내부에서 호출의 양쪽에 alert()를 추가하여 호출되는지 확인했습니다. 두 가지 모두 발생하지만 Card.canScan() 함수가 전혀 실행되지 않는 것과 같습니다. onCardIOCheck 함수 내부에 alert()를 추가하여 도달했는지 여부를 확인했습니다.
도움을 주시면 감사하겠습니다.
(참고 : 나는, 나는 단지 가끔 jQuery를 함께 순수 자바 스크립트를 사용 Angular.js을 사용하지 않는) 당신은
document.addEventListener('deviceready', function() {
CardIO.canScan(onCardIOCheck);
}, false);
으로
.ready(function() {
CardIO.canScan(onCardIOCheck);
});
를 교체해야
감사합니다. 귀하의 솔루션을 사용해 보았습니다. 도움이되지만 완전히 작동하지는 않습니다. Card.io가 이제 제대로 작동하는 데 도움이됩니다. 그러나 canScan 함수가 실행되지만 콜백은 실행되지 않습니다. 더 이상하게 만드는 점은 앱을 배경으로두고 다시 돌아올 때 콜백이 상태가 "true"로 발생한다는 것입니다. 이는 긍정적입니다. 그러나 앱이 배경에있을 때만 왜 시작됩니까? 그런 다음 버튼을 누르면 아무 일도 일어나지 않지만 앱을 배경에 놓으면 Card.io 인터페이스가 나타납니다. 인터페이스는 백그라운드에서 다시 작동합니다. 생각? – user1840352