كيفية تعطيل الروابط AJAX-ي قبل الصفحة جافا سكريبت على استعداد للتعامل معها؟

StackOverflow https://stackoverflow.com/questions/535141

سؤال

وأنا تنفيذ عربة التسوق لموقع الويب الخاص بي، وذلك باستخدام تأثير شبه AJAX صندوق سقو. (ومن لا يدعو فعلا الخادم بين الطلبات - كل شيء هو مجرد نموذج السحر لتحديث القيم المعروضة)

وهناك أيضا السلوك تراجع شبه رشيقة للمستخدمين بدون جافا سكريبت: إذا كانت انقر فوق إضافة إلى السلة يحصلون على اقتيد إلى (خارج الموقع، أقل من المرغوب فيه التفاعل) سلة.

ولكن، يمكن للمستخدم مع تمكين JavaScript الذي يقوم بتحميل الصفحة، ثم يضرب على الفور إضافة إلى السلة يحصل نقله بعيدا عن الصفحة أيضا. أود أن يكون جافا سكريبت مجرد تأجيلها لبعض الوقت، ثم تنفيذ المعرض عربة السلوك مرة واحدة انها مستعدة. في البديل، مجرد تجاهل تماما نقرات قبل جافا سكريبت جاهز وربما قابلة للحياة أيضا.

وأي اقتراحات؟

هل كانت مفيدة؟

المحلول

وأنا الآن القيام بذلك مع مسج ب / ج أنا غامضة نتذكر الخلافات المتصفح الذي يأخذ مسج رعاية:

وحاول

و$ (الوثيقة) .ready (وظيفة () {     // تضع كل مسج الخير هنا. })؛

نصائح أخرى

هل التعليمات البرمجية حقا أن بطيئة أن هذه القضية؟ سأكون على استعداد للمراهنة على أن لا أحد يذهب الى شراء المنتج الخاص بك قريبا بعد تحميل الصفحة. في أي حال معقولة، وسيكون المستخدم الانتظار لتحميل الصفحة قبل التفاعل معها، وخاصة عن شيء مثل عملية شراء.

ولكن للإجابة على السؤال الأصلي الخاص بك، يمكنك تعطيل الروابط في التعليمات البرمجية العادي، ثم إعادة تمكين لهم باستخدام مكالمة document.observe("dom:loaded", function() { ... }).

ويمكنك أن تجرب، إخفاء الروابط في المغلق ثم تبين لهم عند تحميل الصفحة.

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

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

</script>

وبهذه الطريقة، إذا لم يكن لدى المستخدم جافا سكريبت، ثم صلاتهم لا تزال نشطة، وإلا إذا فعلوا ذلك، ثم الروابط مخفية حتى يمكنك تحميل وتفعيلها. لم تفعل هذا من قبل، ولكن أعتقد أن هذا يجب أن تعمل إذا كنت ترغب في الاحتفاظ ملامح الصفحة المأمونة الجانب الخاص بك.

<اقتباس فقرة>   

ولكن، يمكن للمستخدم مع تمكين JavaScript الذي يقوم بتحميل الصفحة، ثم يضرب على الفور إضافة إلى السلة يحصل نقله بعيدا عن الصفحة أيضا.

وعندما كنت بدء البرامج النصية؟ إذا كنت تستخدم وثيقة ONLOAD، وسوف تكون في انتظار لجميع الصور لتحميل قبل initialising، التي من شأنها أن الواقع إعطاء المستخدم فرصة لانقر للشراء.

إذا قمت بتشغيل تعزيز JS عندما DOM مستعدة، إما عن طريق مجرد وضع الخاص بك

scroll top