Maison >interface Web >js tutoriel >Solutions au problème de l'échec de WeChat jssdk dans les compétences iframe pages_javascript

Solutions au problème de l'échec de WeChat jssdk dans les compétences iframe pages_javascript

WBOY
WBOYoriginal
2016-05-16 15:12:162271parcourir

Exigences du projet

La page d'ajout de lots sur WeChat a une fonction de téléchargement de photos. Lors du téléchargement, une iframe est ouverte. La page utilise un canevas pour charger les images sélectionnées à l'aide de l'interface de sélection d'images de WeChat jssdk (ici, WeChat renverra un localid dans le fichier). forme de weixin://xxxx, peut être directement placé dans le src de img pour un aperçu), vous pouvez zoomer, déplacer, faire pivoter et d'autres opérations, cliquez sur le bouton OK pour envoyer l'image modifiée au serveur et l'enregistrer en tant que fichier photo

Problèmes rencontrés

Une fois le développement de la fonction de sous-page terminé, si la sous-page est ouverte via une iframe sur la page principale, l'interface de sélection d'image dans l'interface WeChat jssdk ne peut pas être appelée, et les interfaces des autres jssdk également ne peut pas fonctionner correctement. Cependant, l'ouverture de la sous-page seule peut fonctionner normalement, et le partage WeChat sur la page principale est également normal.

Idées de solutions

Tout d'abord, les informations de signature de jssdk sont injectées dans la page principale et la sous-page en même temps. Y a-t-il un conflit possible ? Après tests, cette possibilité a été exclue. Grâce à des recherches sur Internet, certains internautes ont décrit des problèmes similaires au mien dans cet article, mais il n'y a pas de solution http://www.weixin.com/thread-8022-1-1.html

Après le test, la vérification de la signature peut être effectuée sur la page principale et les informations de signature de jssdk ne sont pas ajoutées à la sous-page. Lorsque vous devez appeler l'interface jssdk, telle que l'interface de sélection d'image, ajoutez parent. avant la fonction jssdk, c'est-à-dire appelez cette fonction de la page parent. Après le test, la fonction peut être appelée normalement.

parent.wx.chooseImage({
success: function (res) {
//upload_success(res.localIds);
}

Il convient de mentionner que WeChat jssdk semble être puissant, mais il présente de nombreux bugs et ne peut pas résister à un examen minutieux lorsqu'il est réellement utilisé dans des projets. Bien que ce problème ait été résolu, un nouveau problème est apparu. Les images exportées par Canvas ne peuvent pas traverser les domaines. . . Au final, l'interface de WeChat n'a pas été utilisée pour répondre aux besoins.

Ce qui précède est la solution au problème de l'échec de WeChat jssdk dans les pages iframe introduit par l'éditeur. J'espère que cela sera utile à tout le monde !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn