هناك صفحة index.html في Domaina ، والتي تعشش صفحة أخرى. html في domainb من خلال iframe
نظرًا لأن صفحة أخرى. html يتم عرضها في iframe وستزيد محتوى الصفحة أو ينخفض ديناميكيًا ، يجب إزالة شريط التمرير الخاص بـ iframe الآن
نظرًا لقيود سياسة JavaScript ذات الأصل من نفس ، لا يمكن إجراء عملية عبر المجال ، مما يجعل المشكلة أكثر صعوبة
لقد أشرت إلى الممارسة عبر الإنترنت وقدمت صفحة وكيل ، أو Agent.html ، التي تنتمي إلى Domaina
ثم ، في other.html في domainb ، استخدم iframe إلى Nest Agent.html
حسنًا ، الوضع الآن هو:
index.html تعشش other.html باستخدام iframe
other.htmlnest Agent.html باستخدام iframe
السبب في أن Agent.html الصفحة الثالثة هو الالتزام بقواعد "سياسة الأصل من نفس" وإكمال تمرير المعلمات تحت مجالات مختلفة!
هدفنا النهائي هو إزالة شريط التمرير والتأكد من عرض جميع محتوى الصفحة المضمن
1. احصل على الارتفاع الفعلي للصفحة الأخرى
2. ضبط الارتفاع على خاصية SRC من iframe IT مضمونة
3. في Agent.html ، قم بقطع قيمة الارتفاع في سمة SRC من iframe.
في المثال التالي ، يتم استخدام خدعة لتجنب استخدام setInterval () لتعيين ارتفاع IFRAME باستمرار.
تتمثل الطريقة في إرفاق الطابع الزمني بـ SRC IFRAME ، بحيث يقوم المتصفح بإعادة تحميل Agent.html في كل مرة
ثم اترك وظيفة JS InvokeMethodIntOpwindow () في Agent.hml يتم تنفيذها
2 html في دومينا
index.html
نسخة الكود كما يلي:
#{تمتد 'main.html' /}
#{set title: 'home' /}
<hr>
<div style = "color: red ؛ font-weight: bold"> application-bypass القيود المفروضة على السياسات المتماثلة ، وفي الوقت نفسه ، استخدم سياسات متجانسة لإزالة شريط التمرير من 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 ؛
دالة vokemethodintopwindow () {
// ALERT ("استدعاء الوظيفة ضمن نفس المجال وأعد ضبط ارتفاع iFrame") ؛
var domaina = document.parentWindow ؛
var realheight = domaina.location.hash.split ("#") [1] ؛
// الخطوة الأخيرة: اتصل بوظيفة النافذة العلوية لإعادة ضبط ارتفاع iFrame
Parent.Parent.Resize (Realheight) ؛
// ALERT ("Realheight:"+Realheight) ؛
//alert(document.parentwindow.name) ؛//get اسم النافذة حيث توجد الحاوية Domaina
//error://alert(document.parentwindow.parent.name) ؛
//alert(document.parentwindow.parent.parent.name) ؛
}
// بعد تعيين سمة 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 ()">
<!-صفحة مضمنة في المجال A->
<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>
<!-الصفحات المضمنة في المجال A في العكس->
<iframe name = "domaina" src = "" style = "display: none"> </frame>
<!-البرنامج النصي->
<script type = "text/javaScript">
// إخفاء أو عرض Div
وظيفة btnclick () {
var div = document.getElementSbyTagName ("div") ؛
لـ (var i in div) {
إذا (أنا <div.length)
div [i] .style.display = (div [i] .style.display == 'none')؟
}
}
</script>
<script type = "text/javaScript">
وظيفة Proxy () {
// ALERT ("BTN Click") ؛
// احصل على ارتفاع هذه الصفحة
var scrollheight = document.documentElement.scrollheight ؛
// ALERT ("Scrollbar ارتفاع:"+scrollheight) ؛
// قم بتعيين ارتفاع النافذة أولاً على خاصية SRC من iframe التي تنتمي إلى Domaina
var iframedomaina = document.getElementSbyName ("domaina") [0] ؛
// الهدف النهائي هو حل قيود "سياسة الأصل من نفس" باستخدام صفحة من Domaina كبديل.
var url = "http: // localhost: 9000/agent" ؛
/** نصيحة: اسمح للمتصفح بإعادة تحميل iFrame في كل مرة من خلال الطابع الزمني ، بحيث يتم ضبط ارتفاع IFRAME المتداخل تلقائيًا في كل مرة ، وتجنب استخدام SetInterval ()*/
iframedomaina.src = url + "؟ time =" + new date (). getTime () + "#" + scrollheight ؛
}
window.onload = proxy ؛
</script>
</body>
</html>