Je suis en train d'authentification du numéro de téléphone en utilisant Ionic2/tapuscrit et initialiser le vérificateur recaptcha comme ceci:Erreur: conteneur reCAPTCHA est soit introuvable ou contient déjà des éléments internes
.ts fichier
import firebase from 'firebase';
@IonicPage()
@Component({
selector: 'page-login',
templateUrl: 'login.html',
})
export class LoginPage {
public recaptchaVerifier:firebase.auth.RecaptchaVerifier;
constructor(afAuth: AngularFireAuth, public authData: AuthProvider, public alertController: AlertController, formBuilder: FormBuilder, public navCtrl: NavController, public navParams: NavParams) {
this.loginForm = formBuilder.group({
phone: ['', Validators.compose([Validators.required,
Validator.isValidPhone])]
});
try {
this.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
}catch(e){
console.log("There was a problem in initializing the recapctha verifier: " + e);
}
this.authData.recaptchaVerifier = this.recaptchaVerifier;
}
}
.html fichier
<ion-content padding>
<div id="recaptcha-container"></div>
<form [formGroup]="loginForm" (submit)="loginUser()" novalidate>
<ion-item>
<ion-label stacked>Phone Number</ion-label>
<ion-input #phone formControlName="phone" type="phone" placeholder="10 digit mobile number"
[class.invalid]="!loginForm.controls.phone.valid &&
loginForm.controls.phone.dirty"></ion-input>
</ion-item>
<ion-item class="error-message" *ngIf="!loginForm.controls.phone.valid &&
loginForm.controls.phone.dirty">
<p>Please enter a valid 10 digit mobile number.</p>
</ion-item>
<button ion-button block type="submit">
Next
</button>
</form>
</ion-content>
Cependant quand je lance le code Je reçois:
Error: reCAPTCHA container is either not found or already contains inner elements
Explorer le monde ionique et de firebase pour la première fois, je trouve qu'il est difficile de comprendre le problème. Quelqu'un a rencontré et résolu ce problème avant? Toute idée sera utile.
avez-vous trouvé une solution pour elle? –