2016-12-15 6 views
2

ペイパルIPNを使用して支払いを開始するプロジェクトで多くの作業を完了しましたが、これはデスクトップブラウザでは成功しましたが、モバイルでは完全に100% 、 少なくとも)。モバイルブラウザをデスクトップビューに自動的に強制する

調査したところ、これはPOSTを使用するデスクトップではなく、モバイルブラウザがPayPalデータを返すGETメソッドを使用していることが原因であることが判明しました。

モバイルブラウザで[デスクトップビューをリクエスト]をクリックすると、プロセスが正常に完了するようになりますが、これは明らかにエンドユーザーにとっては楽しいことではありません。

私はこれで行き詰まってしまったようです(私は実際にはそれがペイパルの問題であるとアドバイスされていますが、それは本当のことなのかどうかわかりません)。最後の手段としてモバイルブラウザでデスクトップビューを強制的に強制しますか?

私はビューポートの幅(<meta name="viewport" content="width=1024"> )を変更しようとしましたが、これはすべてモバイルブラウザのビューを広げています。 「デスクトップビューのリクエスト」を手動でクリックすると、実際にデスクトップビューが表示されるわけではありません。

HTMLまたはJS経由でデスクトップビューを強制する方法があれば、誰にも分かりますか?

ありがとう、
Dan。

答えて

1

通常、<meta name="viewport" content="width=1024">で十分です。

しかし、あなたはmobiledesktopバージョン用に別のインデックスを持っている場合、あなたは、このスクリプトを使用することができます:あなたは携帯使用しても

 function parseUA() { 
      var u = navigator.userAgent; 
      var u2 = navigator.userAgent.toLowerCase(); 
      return { 
       trident: u.indexOf('Trident') > -1, 
       presto: u.indexOf('Presto') > -1, 
       webKit: u.indexOf('AppleWebKit') > -1, 
       gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, 
       mobile: !!u.match(/AppleWebKit.*Mobile.*/), 
       ios: !!u.match(/\(i[^;]+;(U;)? CPU.+Mac OS X/), 
       android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, 
       iPhone: u.indexOf('iPhone') > -1, 
       iPad: u.indexOf('iPad') > -1, 
       webApp: u.indexOf('Safari') == -1, 
       iosv: u.substr(u.indexOf('iPhone OS') + 9, 3), 
       weixin: u2.match(/MicroMessenger/i) == "micromessenger", 
       ali: u.indexOf('AliApp') > -1, 
      }; 
     } 
     var ua = parseUA(); 

     if (ua.mobile) { 
      location.href = './pc.html'; 
     } 

は、基本的にそれはあなたのデスクトップ版にリダイレクトされます(個人的に私はこれを使用しています。方法)。

このスクリプトはlinkでも動作します。

var viewMode = getCookie("view-mode"); 
if(viewMode == "desktop"){ 
    viewport.setAttribute('content', 'width=1024'); 
}else if (viewMode == "mobile"){ 
    viewport.setAttribute('content', 'width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no'); 
} 
+0

こんにちは、私はこれのために別々のインデックスを持っていません。私はビューポートでテストを試みましたが、残念なことに喜びはありません。ありがとう。 –

2

私はこれが答えだと信じています...!最後の手段として、Paypalのサンドボックスで仕事をしていたら、最後の手段として、モバイルブラウザのデスクトップモードに入り、そこから行く必要があるということをエンドユーザーに伝えることにしました。ちょっと不便です。

私はサンドボックスからペイパルを生きるためにリンクを変更しました。デスクトップやモバイルでは何もできませんでした。ライブバージョンではまったく異なるログインインターフェースが登場しました。つまり、私のサンドボックスのいたずらはまったく役に立たなかったのです。しかし、新しいインターフェイスには、問題を引き起こしていたモバイルバージョンに似たURLがありました。

私は、ほとんどのPaypalデータが引き出されていることに気付きました。私のデータベースにtxn_idの詳細を置いていた間、私の支払い処理ページは、成功するためにデータベースにある詳細に依存していました。このデータは、情報が捕捉されるのに十分速くデータベースに入力されていませんでした。

私の支払処理ページの上部には、処理を中止し、データベースに入るのに十分な時間を与えるためにsleep(15);と入力しました。今はすべて正常に動作しているようです。

関連する問題