دعنا نتحدث عن الاستخدام الأساسي لـ Window.ShowModaldialog
showmodaldialog () (أي 4+ دعم)
showmodlessdialog () (أي 5+ دعم)
window.showmodaldialog () تستخدم طريقة لإنشاء مربع حوار معياري يعرض محتوى HTML.
Window.ShowModelessDialog () يتم استخدام طريقة مربع حوار غير مودع يعرض محتوى HTML.
كيفية استخدام:
vreturnvalue = window.showmodaldialog (surl [، varguments] [، sfeatures])))
vreturnvalue = window.showmodlessdialog (surl [، varguments] [، sfeatures])))))))))))))))))))))))
وصف المعلمة:
معلمات Surl-Must Choose ، اكتب: سلسلة. عنوان URL المستخدم لتحديد المستند المراد عرضه في مربع الحوار.
varguments- المعلمة الاختيارية ، النوع: البديل. تستخدم لتمرير المعلمات إلى مربع الحوار. نوع المعلمة الذي تم تمريره بواسطة غير محدود ، بما في ذلك الصفيف ، إلخ. يحصل مربع الحوار على معلمات تم تمريرها من خلال Window.Dialogarguments.
المعلمة sfeatures- الاختيارية ، اكتب: سلسلة. تستخدم لوصف المظهر والمعلومات الأخرى لمربع الحوار ، يمكنك استخدام واحد أو أكثر ، واستخدام الجزء "؛"
1. حوار: ارتفاع مربع الحوار ، لا يقل عن 100px ، حوار الحوار وحوار الحوار في IE4 هي EM ، و IE5 هو px ، وهو مريح لمربع الحوار الوسيط.
2. حوار العرض: عرض مربع الحوار.
3.dialogleft: المسافة من يسار الشاشة.
4. حوار: المسافة من الشاشة.
5. Center: {نعم |
6.help: {نعم |
7. قابلة للشفاء: {نعم | الافتراضي لا.
8.status: {نعم | الافتراضي هو نعم [بلا تعديل] أو لا [وسيط].
9.SCROLL: {نعم الافتراضي هو نعم.
يتم استخدام السمات التالية في HTA ولا تستخدم عمومًا في صفحات الويب العامة.
10. الحوار: {نعم | الافتراضي هو لا.
11.edge: {غارق |. الافتراضي هو رفع.
12.
انتقال المعلمة:
1. إذا كنت ترغب في تمرير المعلمات في مربع الحوار ، فيمكنك المرور عبر varguments. النوع غير محدود. يمكنك أيضًا تمرير الكائن ، مثل:
نسخ رمز رمز على النحو التالي:
<script>
var obj = new Object () ؛
obj.name = "ttop" ؛
window.showmodaldialog ("test.htm" ، obj ، "dialogwidth = 200px ؛ dialogheight = 100px") ؛
</script>
test.htm
<script>
var obj = window.dialogarguments
تنبيه ("المعلمات التي تمر بها هي:" + obj.name)
</script>
2. يمكنك إرجاع المعلومات إلى النافذة التي تفتح مربع الحوار من خلال Window.ReturnValue. على سبيل المثال:
نسخ رمز رمز على النحو التالي:
<script>
str = window.showmodaldialog ("test.htm" ، "dialogwidth = 200px ؛ dialogheight = 100px") ؛
تنبيه (STR) ؛
</script>
test.htm
<script>
Window.RETURNVALUE = "/" ؛
</script>
1. ما هو الفرق بين showmodaldialog و showmodelessdialog؟
Showmodaldialog: بعد فتحه ، سيحتفظ دائمًا بتركيز المدخلات. ما لم يتم إغلاق مربع الحوار ، لا يمكن للمستخدمين التبديل إلى النافذة الرئيسية. على غرار تأثير تشغيل التنبيه.
showmodlessdialog: بعد فتحه ، يمكن للمستخدمين تبديل تركيز الإدخال بشكل عشوائي. ليس له أي تأثير على النافذة الرئيسية (على الأكثر حظر: P)
ثانياً ، كيف يمكن أن ندع نافذة جديدة قد ظهرت في Showmodaldialog و ShowModialog؟
أضف <base target = "_ seld"> إلى صفحات الويب المفتوحة. يتم وضع هذه الجملة بشكل عام بين <html> و <body>.
كيفية تحديث المحتوى في showmodaldialog و showmodlessdialog؟
في Showmodaldialog و ShowModlessDialog ، لا يمكن تحديث F5 ولا يمكن ظهر القائمة. هذا يمكن أن يعتمد فقط على جافا سكريبت.
<body onKeyDown = "if (event.keycode == 116) {regoad.click ()}">
<a id = "reload" href = "fileName.htm" style = "display: none"> reload ... </a>
استبدال Filename.htm باسم صفحة الويب ووضعها في صفحة الويب التي فتحتها.
رابعًا ، كيفية إغلاق نافذة ShowModaldialog (أو ShowmodelessDialog) مع JavaScript.
<type type = "button" value = "close" onClick = "window.close ()">
يتعاون أيضًا مع <base target = "_ seld"> ، وإلا فإنه سيفتح نافذة IE جديدة ثم إيقاف تشغيلها.
5. Showmodaldialog و showmodelessdialog تقنيات نقل البيانات.
(كلمات المؤلف: أردت أصلاً أن أكتبها في سؤال وإجابة ، لكنني لم أستطع التفكير في هذا ، لذلك كان علي القيام بذلك.)
هذا الشيء أكثر إثارة للقلق.
مثال: الآن تحتاج إلى قراءة أو تعيين متغير var_name
طريقة الإرسال العامة:
window.showmodaldialog ("filename.htm" ، var_name)
// نقل متغيرات var_name
عند القراءة والإعداد في ShowModaldialicalog (أو showmodelessDialog) ::
التنبيه (window.dialogarguments) // اقرأ متغير var_name
window.dialogarguments = "oyiboy" // set var_name ariable
يمكن أن تكون هذه الطريقة راضية ، ولكن متى تريد تشغيل var_name ثم تشغيل التغيير الثاني var_id في نفس الوقت؟ لن يكون قادرًا على العمل بعد الآن. هذه هي القيود المفروضة على طريقة الإرسال هذه.
فيما يلي الطريقة التي أوصي بها باستخدامه:
window.showmodaldialog ("filename.htm" ، نافذة)
// بغض النظر عن المتغيرات التي يجب تشغيلها ، يتم إرسال كائن نافذة النافذة الرئيسية فقط
عند القراءة والإعداد في ShowModaldialicalog (أو showmodelessDialog) ::
التنبيه (window.dialogarguments.var_name) // اقرأ متغير var_name
window.dialogarguments.var_name = "Oyiboy" // SET VAR_NAME المتغير
في الوقت نفسه ، يمكنني أيضًا تشغيل متغير var_id
التنبيه (window.dialogarguments.var_id) // اقرأ المتغير var_id
window.dialogarguments.var_id = "001" // SET VAR_ID متغير
يمكن أيضًا تشغيل أي كائن من النافذة الرئيسية ، مثل العناصر الموجودة في كائن النموذج.
window.dialogarguments.form1.index1.value = "هذه هي قيمة عنصر الفهرس" "
على الصفحة الأصل ، استخدم onClight = "" "" variet = window.showmodalog ('changephoto.htm' ، "dialogwidth: 500px ؛ dialogheight: 300px ؛ help: no ') ؛ if (typ eof (reval)! =' undefined ' ) {form.textname.value = reval ؛} "style =" "cursor: hand"> انقر هنا لتعديل الصورة
افتح إطارًا في نافذة "التغيير".
ChangePhoto.htm: <type type = button onClick = "onClose () ؛"
وظيفة OnClose () {window.ReturnValue = form1.save.value ؛
ملف ASP: parent.document.form1.save.value = "القيمة أو مختلفة" ؛