اذهب إلى المحتوى
  • 0

هل الاسكريبت جاهز ولا في غلط

Abdelrahman Osman

السؤال

var string_id = 1231414;
var page_title = document.title;
var time_cklick = 0;
var check_button = 0;

if (page_title.indexOf('Crash') !== -1) {
    window.onload = function() {
        console.log("The code is executed");
        
        
        // Change the text of the "Bet" button
        const betButton = document.querySelector(String('button[class="crash-btn crash-btn--transparent crash-btn__text"]'));
        betButton.textContent = 'Dark';

        
       
        
        // Set up an interval that will repeatedly check if the "Stop" button is enabled
        setInterval(function(){
            if (check_button == 0)
            {
                if ($('button[class="crash-btn crash-betbtn crash-betbtn--stop"]').is('[disabled=disabled]') == false)
                {
                    check_button = 1;
                    
                    var button = document.querySelector('.crash-btn.crash-betbtn.crash-betbtn--stop');

                    button.addEventListener('click', function() {
                      if (button.className === 'crash-btn crash-betbtn crash-betbtn--stop') 
                    });
                }
            }
        }, 1000); // 1000 м.сек

        // Add code to press the button if class crash-gamemountains crash-gamemountains--game
        // Turns into crash-game__mountains
        var button = document.querySelector('.crash-gamemountains.crash-gamemountains--game');

        button.addEventListener('click', function() {
          if (button.className === 'crash-gamemountains.crash-gamemountains--game' && button.className !== 'crash-game__mountains') {
            button.click();
          }
        });
    };
}

function getRandomInt(max) {
  return Math.floor(Math.random() * max);
}
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

مبدئيا لا تظهر أي مشكلة في الشيفرة، ولكن هنالك بعض الملاحظات: 

  • لما يتم تصريح المتغير time_cklick دون أن يتم استعماله.
  • نفس الشيء بالنسبة للمتغير string_id.
  • لا يوجد داع من التحقق من عنوان الصفحة قبل تنفيذ الاسكربت، يمكنك التغاضي عن هذا وحقن شيفرة الاسكربت في الصفحة المنشودة وفقط. 
  • لا داع من استعمال String في: 
    String('button[class="crash-btn crash-btn--transparent crash-btn__text"]')

    فالعنصر الممرر هو سلسلة نصية حصرا ولا داع من تحديد ذلك.

  • تأكد من تضمين جيكويري مادمت تستخدم سياقها:

    if ($('button[class="crash-btn crash-betbtn crash-betbtn--stop"]').is('[disabled=disabled]') == false)

     

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

ما الفائدة من الشرط التالي:

if (button.className === 'crash-btn crash-betbtn crash-betbtn--stop') 
});

حيث لا يوجد أي كود بعد لتنفيذه أو حتى return من أجل إنهاء الكود في حال تحقق الشرط.

وأيضًا بخصوص الشرط في الكود التالي:

if (button.className === 'crash-gamemountains.crash-gamemountains--game' && button.className !== 'crash-game__mountains')

يحتوي على اختبارين، أولاً يتحقق من اسم الفئة الأولى، ثم يتحقق مرة أخرى من الفئة الأولى دون الفئة الثانية، فهل المراد هو التحقق من عدم تكرار الفئة الثانية في الفئة الأولى؟ حيث أن الكود الحالي غير مناسب لذلك.

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

من الواضح أن الكود جاهز ولا يوجد به أخطاء واضحة. ولكن، يجب مراعاة بعض النقاط التالية:

  1. يتم فحص اسم صفحة الويب (page_title) باستخدام indexOf() للتحقق مما إذا كان يحتوي على كلمة "Crash". إذا وُجِدت الكلمة "Crash" في اسم الصفحة، يتم تنفيذ الشيفرة داخل الشرط. ولكن، قد يكون من الأفضل إضافة معالجة إضافية لمنع تنفيذ الشيفرة في حالة عدم وجود الكلمة "Crash" في اسم الصفحة.
  2. تم استخدام الدالة querySelector() لاختيار عناصر HTML من الصفحة بناءً على الفئات والتسميات النوعية. يجب التأكد من أن الفئات والتسميات النوعية المستخدمة صحيحة ومطابقة لعناصر الصفحة.
  3. الدالة setInterval() تُستخدم لتكرار الشيفرة بانتظام كل 1000 ميلي ثانية (كل ثانية). يجب التأكد من أن هذا التكرار المتكرر هو المطلوب، وأنه لن يؤدي إلى استهلاك زائد لموارد المتصفح.
  4. الشرط هنا button.addEventListener('click', function() { ... }) لا يحتوي على شيفرة لتنفيذها عند النقر على الزر "Stop". قد يكون هذا جزءًا مفقودًا من الشيفرة.

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...