ゼウスのトークン決済不具合(iOS)
-
投稿者投稿
-
2018年5月28日 3:20 PM #85789nglife参加者
——————————————-
WordPress のバージョン:4.9.5
Welcart のバージョン:1.9.10
症状を確認したブラウザ:safari iOS11.3.1
SSLの利用:常時SSL
——————————————–
お世話になっております。ゼウストークン決済用のjsファイルでそれぞれスマホ時に上手く動作しないであろう箇所がありましたのでご確認をお願い申し上げます。
※実際に(会員マイページで)カード情報の更新が出来ない、カート画面で購入が出来ない、といった事例が発生しております。調査の限りでは下記現象が一因と思います。
現象参考:
[JavaScript] iOSでdocumentに張ったclickイベントが発火しない
https://qiita.com/jshimazu/items/f9c148fa5e08f109179f1. classes/paymentZeus.class.php
2167行目:一括払い・分割払いの切り替え動作$(document).on( "click", "input[name='offer[howpay]']", function() { 中略 });
↑は動作を拝見する限り「click」ではなく「change」が正しいかと思います↓
$(document).on( "change", "input[name='offer[howpay]']", function() { 中略 });
2. js/cart_zeus.js
10行目:カート購入確認ページへの遷移直前$(document).on( "click", 'body input[type="submit"]', function( e ) { 中略 });
↑こちら中略部分の書き方次第ではsubmitボタンのclick発火ではなく、formのsubmit発火でも代用が利くのではないでしょうか。
3. js/member_zeus.js
3行目:会員マイページ、カード情報更新直前$(document).on( "click", "#card-update", function( e ) { 中略 });
2. と同様でformのsubmit発火ではいかがでしょうか。
1~3共通の
$(document).on('click',
について、動的に要素変更される可能性があるのであれば致し方ないと思いますが、何かしらのハックをしない限りiOSでの動作期待は見込めないようです。また、そのハックを加えたとしても今度は一律のデバッグが困難になると思いますので、使用自体を置き換え・抑えてしまうと良いのかなと思いました。お忙しい中恐れ入りますが、早急なご対応をいただけますと幸いです。
どうぞよろしくお願いいたします。2018年5月28日 3:48 PM #85790nglife参加者1点追記で↑の2. 3. それぞれにおいてsubmitボタン押下時に下記内容がchromeのコンソールで表示されます。
[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user’s experience. For more help, check https://xhr.spec.whatwg.org/.
トークン取得時に走るXMLHttpRequestの同期通信についての警告と思います。
デバイス環境によってはこのトークン取得通信がブラウザ側でブロックされてしまう恐れもあるのではないかと思いました。
※Windows/chrome:66.0.3359.181ではブロックされずに動作していました。参考:非同期じゃないXMLHttpRequestをメインスレッドで使うのはもうオワコンらしい
https://qiita.com/kozy4324/items/a0179cfd761f7bfb03ff今後を考えますと、
・ボタン押下時(ないし違うタイミングで)非同期にトークン取得→完了後にsubmit遷移可能
とするのがベターのように思いました。合わせてご確認のほどよろしくお願い申し上げます。
2018年6月14日 2:27 PM #85837yskysmrキーマスターこんにちは。
ご報告ありがとうございます。
検証いたしますので、しばらくお待ちくださいませ。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。