javascript - شرح - السماح لإطار iframe بملء الشاشة ، عبر المتصفح



w3school price table (1)

لديّ بعض الرموز التي أستخدمها لعرض الفيديو في إطار iframe. 99٪ من الوقت إذا كان يعمل عندما يريد المستخدم التبديل إلى وضع ملء الشاشة ، في أي متصفح.

ومع ذلك ، فقد وجدنا مثالين في IE حيث لا يتسع خيار ملء الشاشة إلا لملاءمة حجم إطار iframe.

يتم تقديم علامة iframe على النحو التالي:

<iframe id="FrameContent" allowtransparency="true" frameborder="0" title="" webkitallowfullscreen="true" mozallowfullscreen="true" allowfullscreen="true" src="/whatever.aspx" style="width: 1660px; height: 867px; visibility: visible;"></iframe>

جميع إطارات iframe التابعة للوالدين / الأطفال لها سمات allowfullscreen أعلاه.

ومع ذلك ، من القراءة هنا وفي أي مكان آخر ، يبدو أن الإجماع على استخدام allowfullscreen فقط ، مع تحديد ="true" . سيتم تغيير بعض الشفرات الواردة أعلاه ليتم عرضها على النحو التالي -

<iframe id="FrameContent" allowtransparency="true" frameborder="0" title="" allowfullscreen src="/whatever.aspx" style="width: 1660px; height: 867px; visibility: visible;"></iframe>

أيضا ، يبدو أن الآخرين (webkitallowfullscreen و mozallowfullscreen) قد تم إهمالهم لذلك لم تعد هناك حاجة إليه ، فهل هذا صحيح؟

لقد رأيت اقتراحات أخرى ، مثل استخدام allowfullscreen="allowfullscreen" أو allowfullscreen="" (لأن ="true" لا يعمل!)

رأيت أيضا msallowfullscreen و oallowfullscreen المذكورة ، ونحن لا نستخدم حاليا تلك.

أي شخص قادر على توضيح ما يجب استخدامه مرة واحدة وإلى الأبد؟


فيما يلي بعض الارتباطات التي قد تجدها مفيدة. من أجل "توضيح ما يجب استخدامه مرة واحدة وإلى الأبد" ، انظر رابط W3.org.

  1. يتم العثور على المواصفات الرسمية الخاصة بمصنّعي المستعرضات في علامة iframe على موقع W3C: https://www.w3.org/TR/html5/embedded-content-0.html#the-iframe-element
  2. بما أن صفحة W3C هي نوع من الصعب قراءتها ، فإليك قائمة سهلة القراءة لخصائص iframe: http://www.w3schools.com/tags/tag_iframe.asp
  3. إليك ما يعمل في كل متصفح: http://caniuse.com/#search=iframe

يبدو أن الشركات المصنعة للمتصفح تضيف سمات غير متوافقة مع W3C مرة أخرى إلى بعض علاماتها. تنتمي السمة "allowFullScreen" حقًا إلى علامة param ، ولكن ليس في iframe ولا علامات الفيديو نفسها.

<object type="application/x-shockwave-flash">
    <param name=allowfullscreen value=true>
    <video>...</video>
</object>

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

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





fullscreen