هل يمكن جعل الموقع بوضع ملأ الشاشة بمجرد فتحه 🌹

ما هو الكود ?

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

في الحقيقة لا يمكن ذلك بالضبط , لأن المتصفحات لا تملك صلاحية ذلك و يبقى جزء مهم من الأمر بيد المستخدم .

فإن كانت الشيفرة العامة لتطبيق وضع ملئ الشاشة كالتالي :

document.documentElement.requestFullscreen().catch((e) => {
         console.log(e);
});

فإننا قد نواجه بعض الأخطاء التي تخبرنا بعدم إمكانية ذلك من مثل :

Failed to execute 'requestFullscreen' on 'Element': 
API can only be initiated by a user gesture.

أي أن الأمر لا يمكن لا يتم مباشرة دون تدخل المستخدم فالقرار يعود للمستخدم في ذلك عن طريق تلميحة منه أو موافقة , و لو بتفاعلية بسيطة .

و لذلك سنقوم بحيلة بسيطة تقوم بإستدعاء شيفرتنا السابقة وفقا لحدث معين , وليكن dbclick مثلا :

document.addEventListener('dbclick', () => {
      document.documentElement.requestFullscreen().catch((e) => {
         console.log(e);
      });
}); 

سيقوم هذا بتطبيق وضع ملئ الشاشة عند الضغط على الشاشة مرتين متتاليتين , كما يمكنك إضافة أي حدث اخر مثل تمرير مؤشر الفأرة أو غيرها .

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

Alasdee_Ali أضف ردا

هذا سلامي فافقهوها🌹

ما هي فائدة الكود الي صاير بعد ()fullscreen

شغلت الكود واشتغل تمام بلاها

سؤال اخر : هل يمكن اخذ اذن من المستخدم بحيث في المرة القادمة يكون الكود قد تم تفيذه بدون فعل من المستخدم؟

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

if(cookieExists('auto_full_screen')){
    // do full screen
} 

إلا كشرط عادي يقبل قيمة بوليانية , و لا يهتم بغرض تخزين هاته الكوكي . إذ أن شيفرة تنفيذ وضع ملئ الشاشة لن تتبع إلا ذات المنطق السابق :

لا يمكن لا يتم مباشرة دون تدخل المستخدم فالقرار يعود للمستخدم في ذلك عن طريق تلميحة منه أو موافقة , و لو بتفاعلية بسيطة .

طيب شكراً على مساعدتك 🌹

ولكن لدي سؤال اخر : هل يمكن ان يُغلق الموقع بنفسه اذا ما قام المستخدم بالخروج من الفول سكرين , ليس شرط ان يغلق الموقع وانما تنفيذ كود معين

بالطبع يمكنك ذلك , سيمكن التصرف عند إستدعاء الحدث التالي :

if (document.addEventListener)
{
 document.addEventListener('fullscreenchange', exitHandler, false);
 document.addEventListener('mozfullscreenchange', exitHandler, false);
 document.addEventListener('MSFullscreenChange', exitHandler, false);
 document.addEventListener('webkitfullscreenchange', exitHandler, false);
}

function exitHandler()
{
 if (document.webkitIsFullScreen || document.mozFullScreen || document.msFullscreenElement !== null)
 {
  // تنفيذ شيفرة ما عند الخروج من وضع ملئ الشاشة
 }
}