2

疑似 AJAX ライトボックス風の効果を使用して、自分の Web サイトにショッピング カートを実装しています。(実際には、リクエスト間でサーバーを呼び出すわけではありません。すべては、表示された値を更新するためのプロトタイプ マジックです。)

また、Javascript を使用しないユーザー向けのセミグレースフル フォールバック動作もあります。[カートに追加] をクリックすると、(オフサイトで、望ましくない相互作用の) カートに移動します。

ただし、ページをロードしてすぐにカートに追加を押した Javascript が有効になっているユーザーも、ページから離れてしまいます。Javascript でそれらをしばらく遅らせてから、準備ができたらショー カートの動作を実行したいと思います。別の方法として、Javascript の準備が整う前にクリックを完全に無視することもおそらく実行可能です。

助言がありますか?

4

4 に答える 4

3

私は今、jQuery b/cでこれを行っています。jQueryが処理するブラウザーの違いを漠然と思い出します。

試す

$(document).ready(function(){//すべてのjQueryの良さをここに入れます。});

于 2009-02-11T02:25:07.127 に答える
1

あなたのコードは本当に遅いので、これは問題ですか?ページを読み込んだ直後に、誰もあなたの製品を購入することはないでしょう。合理的な場合、ユーザーはページが読み込まれるのを待ってから操作します。特に購入などの場合はそうです。

document.observe("dom:loaded", function() { ... })ただし、元の質問に答えるために、通常のコードでリンクを無効にしてから、呼び出しを使用してリンクを再度有効にすることができます。

于 2009-02-11T02:04:06.540 に答える
0

cssでリンクを非表示にして、ページが読み込まれたときにリンクを表示してみてください。

<script type="text/javascript">
  document.write('<link rel="stylesheet" type="text/css" href="someCssThatHidesLinks.css" />');

  window.onLoad = function() {
    //show links
  }

</script>

このように、ユーザーがjavascriptを持っていない場合でも、リンクはアクティブです。そうでない場合は、リンクをロードしてアクティブにするまで、リンクは非表示になります。これまでにこれを行ったことはありませんが、フェイルセーフページの機能を保持したい場合はこれでうまくいくと思います。

于 2009-02-11T02:09:41.220 に答える
0

ただし、Javascriptが有効になっているユーザーがページを読み込んですぐにカートに追加を押すと、ページから離れてしまいます。

スクリプトはいつ起動しますか?ドキュメントのオンロードを使用している場合は、初期化する前にすべての画像がダウンロードされるのを待機します。これにより、ユーザーはクリックして購入することができます。

<script>をページの下部に配置するか、フレームワークによって提供されるDOMContentLoadedスタイルのイベントを使用して、DOMの準備ができたときにJS拡張機能をトリガーする場合、リンクはユーザーが最初にボタンをクリックする可能性はほとんどありません。

本当に、最初に解析される要素とロードされるドキュメントの間に配置されるクリックを本当に遅らせたい場合は、次のように書くことができます。

<script>
    function methodcall(obj, name) {
        return function() {
            obj[name].call(obj);
        };
    }
</script>
...
<a href="nonjsversion" onclick="setTimeout(methodcall(this, 'click'), 500); return false;">Buy</a>
...

そのため、リンクの実際のクリックハンドラーが配置されるまで、ポーリング(およびIEではメモリリーク)がスピンします。ただし、これはかなり醜く、スクリプトが何らかの理由で壊れた場合(JavaScriptであるため、ある時点で、ブラウザによってはボタンが壊れることがあります)、壊れやすいです。この問題は、以前に無効にされたアクションを有効にする、後で実行されるJavaScriptに依存するすべての潜在的なソリューションに当てはまります。

そして、壊れた購入ボタンほどビジネスにとって悪いことはありません。

于 2009-02-11T02:24:31.310 に答える