0

checkout from billing基本的にJSをトリガーする機能を持つページがあります。

ここで見ることができます。

ブルー & スモールを選択して、カートに追加します。

次に、チェックアウトに行きます。

ダミーのデータを入力し、「請求書からコピー」を押します。うまくいきません。ただし、ページを更新してプロセスを再度実行すると...動作します。

また、最初の移動では、「配送方法」ドロップダウンが機能しないことに気付くでしょう。しかし、一度リフレッシュすると、そうなります。

コンソールでこの機能を担当する JS を試してみましたが、最初の読み込みで正常に動作します。したがって、コードが正しいことはわかっています (選択しようとしているすべてのフィールドが正しいなど)。

これをデバッグするにはどうすればよいですか?

4

4 に答える 4

1

これが起こっていることです...

http://apt-605.herokuapp.com/checkout/cart[チェックアウトに進む] ボタンがあるカート ページには、すべてのアンカー タグにフックする JavaScript があり、アンカー タグの href で ajax リクエストを作成し、ドキュメントのコンテンツを ajax から受け取ったコンテンツに置き換えます。電話。

これが行っていることは、新しいコンテンツが新しいページのようにロードされず、ヘッドがレンダリングされず、piggybak js がロードされないことです。

これを確認するには、firebug を開いたままにし、カート ページで [ネット] タブに切り替えます。Proceed to checkout をクリックすると、XHR リクエストが getcheckoutに対して行われ、net タブが更新されずにチェックアウト ページが読み込まれることがわかります。また、ネット タブに puiggybak js の読み込みが表示されません。

したがって、基本的には、すべてのアンカー タグにアタッチされているカート ページで使用している js を把握する必要があります。

お役に立てれば。

于 2013-04-26T11:12:05.700 に答える
1

あなたのサイトでの動作を確認し、ページの最初の読み込みで動作するようにすることができました。ロードの順序が問題の中心にあると思います。

ページが読み込まれた後、piggyback.js ファイルの最初の行を再実行することで、動作させることができました。

これは、問題と簡単な修正を示す簡単なスクリーンキャストです。

ロードの最後にこの部分を実行できれば、問題は解決すると思います。

更新 1: [チェックアウトに進む] ボタンでターボリンクをオフにすることもできます。リンクに data-no-turbolink="true" を追加してクリックすると、ページはターボロードされず、ページ全体の更新としてロードされました。その後、コピー配送機能が期待どおりに機能しました。

更新 2: 実際の問題は、DOM Ready イベントのみを想定しているため、js コードがトリガーされていない可能性が最も高いです。here で説明されているように、page:load イベントを使用して、ターボリンクがロードするときにトリガーできる場合があります。

于 2013-04-26T03:19:33.100 に答える
0

あなたはコンテンツでアヤックスしていますか?

あなたは頭がありません

<script src="/assets/piggybak/piggybak-application-1d1707f6934602bfae8e3a33d27a4a9b.js" type="text/javascript"></script>

ページの最初のロード時の JavaScript ファイル。

于 2013-04-18T23:44:43.393 に答える