[html] إزالة الحدود من IFrame



Answers

بعد مجنونة محاولة إزالة الحدود في IE7 ، وجدت أن سمة frameBorder حساسة لحالة الأحرف.

يجب عليك تعيين سمة frameBorder برأس مال B.

<iframe frameBorder="0" ></iframe>
Question

كيف أقوم بإزالة الحدود من iframe مضمن في تطبيق الويب الخاص بي؟ مثال على iframe هو:

<iframe src="myURL" width="300" height="300">Browser not compatible.</iframe>

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




استخدم هذا

style="border:none;

مثال:

<iframe src="your.html" style="border:none;"></iframe>



يعمل استخدام سمة CSS "الحدود" أيضًا:

<iframe src="test.html" style="width: 100%; height: 400px; border: 0"></iframe>
  • ملاحظة لا يحقق خاصية حدود CSS النتائج المطلوبة في IE6 أو 7 أو 8.



يمكنك أيضًا القيام بذلك باستخدام JavaScript بهذه الطريقة. سيجد أي عناصر iframe ويزيل حدودها في IE والمتصفحات الأخرى (على الرغم من أنه يمكنك فقط تعيين نمط "الحد: لا شيء" ، في المتصفحات التي لا تستخدم متصفح IE بدلاً من استخدام JavaScript). وستعمل حتى إذا تم استخدامها بعد إنشاء iframe ووضعها في المستند (مثل iframes المضافة في HTML العادي وليس JavaScript)!

يبدو أن هذا يعمل نظرًا لأن IE تنشئ الحدود ، وليس على عنصر iframe كما تتوقع ، ولكن على محتوى الإطار iframe - بعد إنشاء iframe في BOM. ($ @ & * # @ !!! IE !!!)

ملاحظة: سيعمل جزء IE فقط (بالطبع) إذا كانت النافذة الرئيسية والإطار iframe من أصل SAME (نفس المجال ، والمنفذ ، والبروتوكول ، وما إلى ذلك). وإلا سيحصل البرنامج النصي على أخطاء "تم رفض الوصول" في وحدة تحكم IE. إذا حدث ذلك ، فإن الخيار الوحيد هو تعيينه قبل أن يتم إنشاؤه ، كما لاحظ الآخرون ، أو استخدام سمة frameBorder غير القياسية = "0". (أو مجرد السماح IE تبدو قبيحة - بلدي الخيار المفضل الحالي ؛))

أخذني ساعات طويلة من العمل إلى درجة اليأس لمعرفة هذا ...

استمتع. :)

// =========================================================================
// Remove borders on iFrames

if (window.document.getElementsByTagName("iframe"))
   {
      var iFrameElements = window.document.getElementsByTagName("iframe");
      for (var i = 0; i < iFrameElements.length; i++)
         {
            iFrameElements[i].frameBorder="0";   //  For other browsers.
            iFrameElements[i].setAttribute("frameBorder", "0");   //  For other browsers (just a backup for the above).
            iFrameElements[i].contentWindow.document.body.style.border="none";   //  For IE.
         }
   }



استخدم HTML iframe frameborder سمة

http://www.w3schools.com/tags/att_iframe_frameborder.asp

ملاحظة: استخدم إطار B (غطاء B) لـ IE ، وإلا لن يعمل. ولكن ، لا يتم دعم السمة framramorder iframe في HTML5. لذلك ، استخدم CSS بدلاً من ذلك.

<iframe src="http://example.org" width="200" height="200" style="border:0">

يمكنك أيضًا إزالة التمرير باستخدام سمة التمرير http://www.w3schools.com/tags/att_iframe_scrolling.asp

<iframe src="http://example.org" width="200" height="200" scrolling="no" style="border:0">

كما يمكنك استخدام السمة السلسة الجديدة في HTML5. لا يتم دعم السمة السلسة لعلامة iframe إلا في Opera و Chrome و Safari. عندما يكون موجودًا ، فإنه يحدد أن iframe يجب أن يبدو وكأنه جزء من المستند المحتوي (بدون حدود أو أشرطة التمرير). اعتبارًا من الآن ، لا يتم دعم السمة السلسة للعلامة إلا في Opera و Chrome و Safari. ولكن في المستقبل القريب ، سيكون الحل القياسي متوافقًا مع جميع المتصفحات. http://www.w3schools.com/tags/att_iframe_seamless.asp




iframe src="XXXXXXXXXXXXXXX"
marginwidth="0" marginheight="0" width="xxx" height="xxx"

يعمل مع فايرفوكس ؛)




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

* {
  padding:0px;
  margin:0px;
 }



إما أن تقوم بإضافة سمة frameBorder ، أو استخدام نمط مع 0px بعرض الحدود ؛ أو تعيين نمط الحدود يساوي لا شيء.

استخدام أي واحد من أقل من 3:

<iframe src="myURL" width="300" height="300" style="border-width:0px;">Browser not compatible.</iframe>

<iframe src="myURL" width="300" height="300" frameborder="0">Browser not compatible.</iframe>

<iframe src="myURL" width="300" height="300" style="border:none;">Browser not compatible.</iframe>




إضافة سمة frameBorder (العاصمة 'B').

<iframe src="myURL" width="300" height="300" frameBorder="0">Browser not compatible. </iframe>



تم أيضًا تعيين border = "0px"

 <iframe src="yoururl" width="100%" height="100%" frameBorder="0"></iframe>



<iframe src="mywebsite" frameborder="0" style="border: 0px solid white;">HTML iFrame is not compatible with your browser</iframe>

يجب أن يعمل هذا الرمز في كل من HTML 4 و 5.




Related