عند محاولة تضمين iFrame داخل تطبيق ويب للجوال باستخدام Safari على أجهزة iOS، يظهر تحدي شائع: تقييد أبعاد iFrame على تناسب شاشة اي فون. غالبًا ما لا يكون لسمات الارتفاع والعرض داخل عنصر iFrame أي تأثير.
ومع ذلك، يكمن الحل البسيط في تضمين iFrame داخل عنصر div. يسمح هذا بالتحكم في حجم iFrame، ولكنه يثير مشكلة جديدة: عدم القدرة على التمرير داخل iFrame.
لمعالجة هذه المشكلة، قم بتنفيذ الخطوات التالية:
فيما يلي مثال على كود JavaScript وHTML لتحقيق ذلك:
// JavaScript setTimeout(function () { var startY = 0; var startX = 0; var b = document.body; b.addEventListener("touchstart", function (event) { parent.window.scrollTo(0, 1); startY = event.targetTouches[0].pageY; startX = event.targetTouches[0].pageX; }); b.addEventListener("touchmove", function (event) { event.preventDefault(); var posy = event.targetTouches[0].pageY; var h = parent.document.getElementById("scroller"); var sty = h.scrollTop; var posx = event.targetTouches[0].pageX; var stx = h.scrollLeft; h.scrollTop = sty - (posy - startY); h.scrollLeft = stx - (posx - startX); startY = posy; startX = posx; }); }, 1000);
يُرجى ملاحظة أنه إذا لم تكن تتحكم في محتوى iFrame، فيمكنك تنفيذ التراكب بدلاً من ذلك. ومع ذلك، لن يسمح هذا الحل بالتفاعل مع محتوى iFrame، باستثناء التمرير.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3