質問 > フロント機能 > ブラウザにより、購入ボタンが動作しない |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
dotquery |
投稿日時: 2018/8/7 23:07
対応状況: 開発中
|
新米 登録日: 2018/8/7 居住地: 投稿: 6 |
ブラウザにより、購入ボタンが動作しない ■ 環境
EC-CUBE(3.0.16) レンタルサーバー:エックスサーバー DBサーバー:MySQL(5.7.16) WEBサーバー:Apache,PHP(7.0.30) ほぼテンプレートをいじってでの、実装です。 自己流で調査した結果下記通りです。 1.ブラウザによって動作が違う ■ 動作するブラウザ ・Android8 Chrome68 ・macHighSierra Chrome68 ・macHighSierra Firefox61 ・windows10 Chrome68 ■ 動作しないブラウザ ・iPhone6s safari11 ・macHighSierra safari11 ・windows10 FireFox61 ・windows10 edge ・windows10 ie11 ※ win10 FireFoxでは、twigの{{ Cart.total_quantity }}だけ取得ができ、カートページ/cartにアクセスするとカートには何も入っていないです。 2.セッションが動作していない? カートが動作しないブラウザではeccubeのクッキーが発行されてない違いを見つけました。 ですがjsエラーなどは見つからないですし、、、なぜブラウザによってセッションが動作しないのか原因が不明です。 3.セッションファイルが複数作成される セッション用クッキーが無いブラウザ(カートが動作しない)でみると、 app/cache/eccube/session内に作成されるセッションのファイルが2個作成されます。 ファイルの内容も正常にカートが動作するブラウザとは異なり、容量も軽いです。 4.テンプレートを変える 主にテンプレートを編集していますので、初期のテンプレートに戻したりしました。カートが動作しないブラウザは変わらなかったです。 5.ローカル環境だと動作する MAMPで建てたローカル環境だと、セッションクッキーも確認でき、カートも動作します。 ec-cubeは初めてなため、勉強不足なところもあります、、、 ご教授いただけると大変、助かります。 よろしくお願いいたします。 追記---------------------- ▼ 参考に下記の質問に似ていると思いました。 カートに入らなくなった https://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=19518&forum=2 safari、chrome、firefoxで購入ボタンが反応しない。 https://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=4328&forum=14 上の質問から解決方法が見いだせないです... |
468 |
投稿日時: 2018/8/8 9:46
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: ブラウザにより、購入ボタンが動作しない あまり聞いた事のない現象ですが、
上手く行かない場合はcookieが発行されていないという事からセッションが維持されていない状態かと思われます。 セキュリティの関係でブラウザからcookieが送信されない事(httpとhttpsが混在しているサイト、SSL証明書の期限が切れているサイト等)がありますが、 何か心当たりはありませんか? またはブラウザの設定でcooikeをブロックしているという事はないでしょうか?
|
dotquery |
投稿日時: 2018/8/8 13:01
対応状況: 開発中
|
新米 登録日: 2018/8/7 居住地: 投稿: 6 |
Re: ブラウザにより、購入ボタンが動作しない 早速のご回答ありがとうございます。
>SSLについて SSL化してあります。 エックスサーバーの管理画面のUI操作で、SSL化しました。 それ以外SSL関連はなにもやっていないです。 現在はリダイレクトなどは設定していなく、両方のURL(http://とhttps://)からアクセスできます。(設定していないだけで、得に意味はないです...) それが混在ということなのでしょうか? 証明書も!とかでていないので期限きれてないです。 ・SSLの設定手順 設定の手順は下記のURLの通りに行いました。 ただ、.htaccessのファイルはなんもやっていないです。 https://www.xserver.ne.jp/manual/man_server_ssl.php >cookieのブロック ブロックはしていないです。 ブラウザによりcookieがなかったり、複数発行されていたりと、なんだか混沌としています。 -スクリーンショット http://xfs.jp/kpEqKW 重ねて質問失礼いたします。 httpとhttpsの混在しない状態とは、.haccessでリダイレクトするような感じでしょうか? エックスサーバーでSSLの設定しましたが、 EC-CUBEでのSSLの設定などは何もやっていないです。 EC-CUBEでの設定はなにかやるのでしょうか? よろしくお願いいたします。 |
468 |
投稿日時: 2018/8/8 16:50
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: ブラウザにより、購入ボタンが動作しない まず、httpとhttpsの混在についてですが、
imgタグやscriptタグで記述されたURLにhttp://から始まるURLが含まれた状態の事を指します。 その場合、アドレスバーに鍵マークが外れた形で表示されますので判断できると思います。 ご提供いただいたスクリーンショットを確認させていただいた所、 cookieが送信されていないのではなく、 eccubeというキーで2つ保存されているように見受けられます。 一方のcookieにはpathに「/product/detail/」が指定されているようですが、商品詳細ページでcookieを利用するような処理を追加されていますか? デフォルトのECCUBEで確認してみましたが、 通常はcookieは1つのみ保存され、pathは「/」が指定されています。 (スクリーンショットの1つ目のcookieが常に利用される) 2つ目のcookieはどの画面遷移で保存されますか? 商品詳細ページに訪れた時でしょうか? 保存されるタイミングに何かあるのではないかと思います。
|
dotquery |
投稿日時: 2018/8/9 12:32
対応状況: 解決済
|
新米 登録日: 2018/8/7 居住地: 投稿: 6 |
Re: 自己解決しました 早い返信ありがとうございます。
自己解決いたしました。 pathをご指摘されていたので、path関連で思い当たるふしがありました。 実は過去にpath.ymlを何度か編集していました。 (EC-CUBEの親ディレクトリが変更、ホームURLの/html/を無くすなど...) 何度か表示されなくなってしまったので、やけくそで修正していて、 7行目のroot_urlpathをフルパスで指定していました。。。。 誤 root_urlpath: https://xxxx 修正後 root_urlpath: / 修正したら、確認できる全てのブラウザでセッションcookieが一つ発行されたのを確認でき、 購入ボタンも正常に動作しました。 ブラウザでの動作違いはフロント側のバグにしか見えなかったので、まさかこんなところの間違いでブラウザごとで動きが異なるとは思ってなかったです。 大変助かりました。 誠にありがとうございます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |