هناك صفحة في domaina index.html ، متداخلة مع other.html في صفحة في domainb من خلال iframe
نظرًا لأن صفحة أخرى. html يتم عرضها في iframe ، وسيزيد محتوى الصفحة أو ينقص ديناميكيًا ، والآن يجب إزالة شريط الدوران iframe
نظرًا لقيود الاستراتيجيات المتماثلة JavaScript ، لا يمكن إجراء عمليات متقاطعة ، مما يجعل المشكلة أكثر صعوبة
ارجع إلى نهج الإنترنت ، أو تقديم صفحة وكالة ، أو الوكيل. html ، الذي ينتمي إلى Domaina
ثم ، في الجانب الآخر.
حسنًا ، هذا هو الحال الآن:
index.html يستخدم iframe متداخلة أخرى.
other.html يستخدم Iframe Nesting Agent.html
سبب إدخال وكيل الصفحة الثالثة. html هو الامتثال لقواعد "الاستراتيجية المتجانسة" وإكمال نقل المعلمات ضمن مجال مختلف!
هدفنا النهائي هو إزالة شريط التدحرج ، ولضمان عرض جميع محتويات الصفحة المضمنة
1. الارتفاع الفعلي للارتفاع الفعلي للصفحة الأخرى. html
2. ضبط الارتفاع على خاصية SRC من iframe في مضمنة
3. التقاطع قيمة الارتفاع في سمة SRC من iframe في Agent.html
في المثال التالي ، يتم استخدام تقنية لتجنب استخدام setInterval () لتعيين ارتفاع Iframe باستمرار
تتمثل الطريقة في إضافة طابع زمني على SRC من iframe ، مما يسمح للمتصفح بإعادة تحميل Agent.html في كل مرة
ثم اترك وظيفة JS في Agent.hml InvokeThodIntOpwindow () يتم تنفيذها
2 html في دومينا
index.html
نسخ رمز رمز على النحو التالي:
#{تمتد 'main.html' /}
#{set title: 'home' /}
<hr>
<div style = "color: red ؛ font-weight: bold"> 窗口自适应 --- 绕开同源策略的限制 , 同时又利用同源策略 , 去掉 iframe 的滚动条 , 动态调整窗口的高度 , 让يمكنه عرض جميع محتويات الصفحة المتداخلة </div>
<!-تحتاج إلى ضبط ارتفاع ارتفاع iFrame->
<div style = "text-align: center ؛">
<iframe name = "domainb" src = "http://127.0.0.1:8088/other" scrolling = "no" framborder = "0"> </frame>
</div>
<script type = "text/javaScript">
وظيفة تغيير حجم (الارتفاع) {
// تنبيه ("تغيير الحجم") ؛
document.getElementSbyName ("domainb") [0]. height = الارتفاع ؛
}
</script>
Agent.html
نسخ رمز رمز على النحو التالي:
<doctype html>
<html>
<head>
<meta charset = "utf-8">
<title> إدراج العنوان هنا </title>
</head>
<body>
أنا صفحة وكيل!
<script type = "text/javaScript">
window.onload = vokeMethodIntOpWindow ؛
الدالة InvokeMethodIntOpwindow () {) {
// ALERT ("استدعاء الوظيفة في نفس المجال ، أعد ضبط ارتفاع iFrame") ؛
var domain = document.parentWindow ؛
var realheight = domaina.location.hash.split ("#") [1] ؛
// الخطوة الأخيرة: اتصل بوظيفة نافذة الطبقة العليا وإعادة ضبط ارتفاع iFrame
Parent.Parent.Resize (Realheight) ؛
// ALERT ("Realheight:"+Realheight) ؛
// ALERT (document.parentWindow.name) ؛ // احصل على اسم النافذة حيث توجد الحاوية Domaina
// خطأ: // ALERT (document.parentwindow.parent.name) ؛
// ALERT (document.parentWindow.parent.parent.name) ؛ // الطبقة العليا من النوافذ تنتمي إلى Domaina ، حتى تتمكن من زيارتها
}
// بعد تعيين سمة SRC لـ IFRAME مع طابع زمني مختلف ، لا تحتاج إلى استخدام SetInterval ()
// setInterval ("InvokeMethodIntOpWindow ()" ، 100) ؛
</script>
</body>
</html>
other.html في domainb
نسخ رمز رمز على النحو التالي:
<doctype html>
<html>
<head>
<meta charset = "utf-8">
<title> إدراج العنوان هنا </title>
</head>
<body onClick = "proxy ()">
<!-صفحة مضمنة في مجال->
<button type = "button" onClick = "btnclick ()"> عرض التبديل </button>
<div style = "display: none">
في JavaScript ، هناك حد أمني مهم للغاية ، يسمى "سياسة الأصل من نفس".
لقد جعلت هذه الاستراتيجية قيودًا مهمة على محتوى الصفحة التي يمكن أن يصل إليها رمز JavaScript ، أي أن JavaScript يمكنه فقط الوصول إلى محتوى المستند الذي يحتوي على مستنداته في نفس المجال.
يشير المتماثلان المتجانس إلى نفس الاسم والبروتوكول والموانئ.
في JavaScript ، هناك حد أمني مهم للغاية ، يسمى "سياسة الأصل من نفس".
لقد جعلت هذه الاستراتيجية قيودًا مهمة على محتوى الصفحة التي يمكن أن يصل إليها رمز JavaScript ، أي أن JavaScript يمكنه فقط الوصول إلى محتوى المستند الذي يحتوي على مستنداته في نفس المجال.
يشير المتماثلان المتجانس إلى نفس الاسم والبروتوكول والموانئ.
في JavaScript ، هناك حد أمني مهم للغاية ، يسمى "سياسة الأصل من نفس".
لقد جعلت هذه الاستراتيجية قيودًا مهمة على محتوى الصفحة التي يمكن أن يصل إليها رمز JavaScript ، أي أن JavaScript يمكنه فقط الوصول إلى محتوى المستند الذي يحتوي على مستنداته في نفس المجال.
يشير المتماثلان المتجانس إلى نفس الاسم والبروتوكول والموانئ.
في JavaScript ، هناك حد أمني مهم للغاية ، يسمى "سياسة الأصل من نفس".
لقد جعلت هذه الاستراتيجية قيودًا مهمة على محتوى الصفحة التي يمكن أن يصل إليها رمز JavaScript ، أي أن JavaScript يمكنه فقط الوصول إلى محتوى المستند الذي يحتوي على مستنداته في نفس المجال.
يشير المتماثلان المتجانس إلى نفس الاسم والبروتوكول والموانئ.
في JavaScript ، هناك حد أمني مهم للغاية ، يسمى "سياسة الأصل من نفس".
لقد جعلت هذه الاستراتيجية قيودًا مهمة على محتوى الصفحة التي يمكن أن يصل إليها رمز JavaScript ، أي أن JavaScript يمكنه فقط الوصول إلى محتوى المستند الذي يحتوي على مستنداته في نفس المجال.
يشير المتماثلان المتجانس إلى نفس الاسم والبروتوكول والموانئ.
في JavaScript ، هناك حد أمني مهم للغاية ، يسمى "سياسة الأصل من نفس".
لقد جعلت هذه الاستراتيجية قيودًا مهمة على محتوى الصفحة التي يمكن أن يصل إليها رمز JavaScript ، أي أن JavaScript يمكنه فقط الوصول إلى محتوى المستند الذي يحتوي على مستنداته في نفس المجال.
يشير المتماثلان المتجانس إلى نفس الاسم والبروتوكول والموانئ.
في JavaScript ، هناك حد أمني مهم للغاية ، يسمى "سياسة الأصل من نفس".
لقد جعلت هذه الاستراتيجية قيودًا مهمة على محتوى الصفحة التي يمكن أن يصل إليها رمز JavaScript ، أي أن JavaScript يمكنه فقط الوصول إلى محتوى المستند الذي يحتوي على مستنداته في نفس المجال.
يشير المتماثلان المتجانس إلى نفس الاسم والبروتوكول والموانئ.
في JavaScript ، هناك حد أمني مهم للغاية ، يسمى "سياسة الأصل من نفس".
لقد جعلت هذه الاستراتيجية قيودًا مهمة على محتوى الصفحة التي يمكن أن يصل إليها رمز JavaScript ، أي أن JavaScript يمكنه فقط الوصول إلى محتوى المستند الذي يحتوي على مستنداته في نفس المجال.
يشير المتماثلان المتجانس إلى نفس الاسم والبروتوكول والموانئ.
في JavaScript ، هناك حد أمني مهم للغاية ، يسمى "سياسة الأصل من نفس".
لقد جعلت هذه الاستراتيجية قيودًا مهمة على محتوى الصفحة التي يمكن أن يصل إليها رمز JavaScript ، أي أن JavaScript يمكنه فقط الوصول إلى محتوى المستند الذي يحتوي على مستنداته في نفس المجال.
يشير المتماثلان المتجانس إلى نفس الاسم والبروتوكول والموانئ.
</div>
<div style = "display: block">
على سبيل المثال ، برنامج Hacker ، يستخدم IFRAME لتضمين صفحة تسجيل الدخول إلى البنك الحقيقي على صفحته.
يمكن لصفحته قراءة المحتوى في الإدخال في النموذج الخاص بك من خلال JavaScript ، بحيث اسم المستخدم ، كلمة المرور سهلة.
على سبيل المثال ، برنامج Hacker ، يستخدم IFRAME لتضمين صفحة تسجيل الدخول إلى البنك الحقيقي على صفحته.
يمكن لصفحته قراءة المحتوى في الإدخال في النموذج الخاص بك من خلال JavaScript ، بحيث اسم المستخدم ، كلمة المرور سهلة.
على سبيل المثال ، برنامج Hacker ، يستخدم IFRAME لتضمين صفحة تسجيل الدخول إلى البنك الحقيقي على صفحته.
يمكن لصفحته قراءة المحتوى في الإدخال في النموذج الخاص بك من خلال JavaScript ، بحيث اسم المستخدم ، كلمة المرور سهلة.
على سبيل المثال ، برنامج Hacker ، يستخدم IFRAME لتضمين صفحة تسجيل الدخول إلى البنك الحقيقي على صفحته.
يمكن لصفحته قراءة المحتوى في الإدخال في النموذج الخاص بك من خلال JavaScript ، بحيث اسم المستخدم ، كلمة المرور سهلة.
على سبيل المثال ، برنامج Hacker ، يستخدم IFRAME لتضمين صفحة تسجيل الدخول إلى البنك الحقيقي على صفحته.
يمكن لصفحته قراءة المحتوى في الإدخال في النموذج الخاص بك من خلال JavaScript ، بحيث اسم المستخدم ، كلمة المرور سهلة.
على سبيل المثال ، برنامج Hacker ، يستخدم IFRAME لتضمين صفحة تسجيل الدخول إلى البنك الحقيقي على صفحته.
يمكن لصفحته قراءة المحتوى في الإدخال في النموذج الخاص بك من خلال JavaScript ، بحيث اسم المستخدم ، كلمة المرور سهلة.
على سبيل المثال ، برنامج Hacker ، يستخدم IFRAME لتضمين صفحة تسجيل الدخول إلى البنك الحقيقي على صفحته.
يمكن لصفحته قراءة المحتوى في الإدخال في النموذج الخاص بك من خلال JavaScript ، بحيث اسم المستخدم ، كلمة المرور سهلة.
على سبيل المثال ، برنامج Hacker ، يستخدم IFRAME لتضمين صفحة تسجيل الدخول إلى البنك الحقيقي على صفحته.
يمكن لصفحته قراءة المحتوى في الإدخال في النموذج الخاص بك من خلال JavaScript ، بحيث اسم المستخدم ، كلمة المرور سهلة.
</div>
<!-مضمن عكسيا في صفحة المجال->
<iframe name = "domaina" src = "" style = "display: none"> </frame>
<!-السيناريو->
<script type = "text/javaScript">
// مخفي أو عرض Div
وظيفة btnclick () {{)
var depth = document.getElementSbyTagName ("div") ؛
لـ (var i in div) {
إذا (أنا <div.length)
ديف
}
}
</script>
<script type = "text/javaScript">
وظيفة Proxy () {
// ALERT ("BTN Click") ؛
// احصل على ارتفاع هذه الصفحة
var scrollheight = document.documentedlement.scrollheight ؛
// ALERT ("ارتفاع شريط المتداول:"+scrollheight) ؛
// قم بتعيين ارتفاع النافذة أولاً على سمة SRC لـ Iframe التي تنتمي إلى Domaina
var iframedomaina = document.getElementSbyName ("domaina") [0] ؛
// استخدم صفحة من Domaina كعامل ، والغرض النهائي هو حل قيود "الاستراتيجية المتماثلة"
var url = "http: // localhost: 9000/agent" ؛
/** المهارات: اسمح للمتصفح بإعادة تحميل مع iframe من خلال الطابع الزمني ، بحيث في كل مرة يقوم تلقائيًا بتعيين ارتفاع iframe المتداخل لتجنب استخدام setInterval ()*/
iframedomainaina.src = url + "time =" + new date ().
}
window.onload = proxy ؛
</script>
</body>
</html>