Projektanforderungen
Die Seite zum Hinzufügen von Losen auf WeChat verfügt über eine Funktion zum Hochladen von Fotos. Beim Hochladen wird ein Iframe geöffnet, um die über die Bildauswahlschnittstelle von WeChat jssdk ausgewählten Bilder zu laden Form von weixin://xxxx, kann zur Vorschau direkt im Quellcode von img platziert werden), Sie können vergrößern, verschieben, drehen und andere Vorgänge ausführen. Klicken Sie auf die Schaltfläche OK, um das bearbeitete Bild an den Server zu senden und als zu speichern Bild
Es sind Probleme aufgetreten
Wenn die Entwicklung der Unterseitenfunktion abgeschlossen ist und die Unterseite über einen Iframe auf der Hauptseite geöffnet wird, kann die Bildauswahlschnittstelle in der WeChat-JSSDK-Schnittstelle nicht aufgerufen werden, und die Schnittstellen in anderen JSSDKs auch nicht kann nicht richtig funktionieren. Das alleinige Öffnen der Unterseite kann jedoch normal funktionieren, und die WeChat-Freigabe auf der Hauptseite ist ebenfalls normal.
Lösungsideen
Zunächst werden die Signaturinformationen von jssdk gleichzeitig in die Hauptseite und die Unterseite eingefügt. Gibt es einen möglichen Konflikt? Nach Tests konnte diese Möglichkeit ausgeschlossen werden. Durch Internetrecherchen haben einige Internetnutzer in diesem Beitrag ähnliche Probleme wie ich beschrieben, aber es gibt keine Lösung http://www.weixin.com/thread-8022-1-1.html
Nach dem Testen kann die Signaturüberprüfung auf der Hauptseite durchgeführt werden, und die Signaturinformationen von jssdk werden der Unterseite nicht hinzugefügt. Wenn Sie die JSSDK-Schnittstelle aufrufen müssen, z. B. die Bildauswahlschnittstelle, fügen Sie die übergeordnete Funktion vor der JSSDK-Funktion hinzu, dh rufen Sie diese Funktion der übergeordneten Seite auf. Nach dem Testen kann die Funktion normal aufgerufen werden.
parent.wx.chooseImage({ success: function (res) { //upload_success(res.localIds); }
Es ist erwähnenswert, dass WeChat jssdk leistungsstark zu sein scheint, aber viele Fehler aufweist und einer Prüfung nicht standhalten kann, wenn es tatsächlich in Projekten verwendet wird. Obwohl dieses Problem gelöst wurde, ist ein neues Problem aufgetreten. Von Canvas exportierte Bilder können nicht domänenübergreifend sein. . . Letztendlich wurde die Schnittstelle von WeChat nicht genutzt, um die Anforderungen zu erfüllen.
Das Obige ist die vom Herausgeber eingeführte Lösung für das Problem des WeChat-JSSDK-Fehlers. Ich hoffe, es wird für alle hilfreich sein!