يجب أن يتم التحكم في شريط العنوان الخاص بـ IE وأي متصفح حالي في الأصل بواسطة علامة HTML <title>، وبالطبع لا يزال الأمر كذلك. إن الاتجاه السائد الحالي هو أنه من الأفضل عدم تحديث صفحة الويب الخاصة بك بعد الآن، ومن ثم يتعين عليك قبول أي هجوم من المستخدمين. هذه هي تقنية أجاكس الأسطورية المتناقضة التي تقتل الناس دون أن يتركوا أثرا!
يعد عرض عنوان الصفحة المناسب في شريط عنوان المتصفح تعبيرًا احترافيًا عن صفحة الويب كما أنه ملائم لمحركات البحث. وبطبيعة الحال، سيكون من المفيد أيضًا تقديم المعلومات السريعة المناسبة. فكيف يمكن تخصيص محتوى العنوان "ديناميكيًا"؟
نحن نعلم أنه يمكننا استخدام ASP لتعديل عنوان المتصفح ديناميكيًا، والذي ربما يكون عبارة مثل هذه:
<title><% = GenerateTitle %></title>
في ASP.NET 1.1، بالإضافة إلى الاستمرار في استخدام الطريقة المذكورة أعلاه، لدينا طريقة أخرى "جميلة" للنظر:
في صفحة aspx:
<title id="cltTitle" runat="server"></title>
في ملف CS:
محمية HtmlgeneralControl cltTitle؛
.
cltTitle.innerHtml = "birdshome's homepage";
اليوم في عصر ASP.NET 2.0 بالإضافة إلى الطريقتين المذكورتين أعلاه، يمكننا أيضًا تعديل محتوى <title> بسهولة أكبر:
Page.Title = "birdshome's homepage"
; تم تعديل محتوى <title> "الديناميكي" أعلاه من جانب الخادم، وفي الواقع، بالنسبة للمتصفح، تم إصلاح المحتوى الموجود داخل علامة <title> بالكامل. دعنا نعود إلى هذه النقطة ونتحدث عن التحكم في شريط عنوان متصفح IE على العميل بالتفصيل:
بالنسبة للصفحات الموجودة في نافذة IE، في كائن DOM للصفحة، يتم استخدام سمة document.title لاستبدال InnerHTML الخاص بالصفحة. عنصر <title> للحصول على محتوى شريط عنوان النافذة وتعيين IE. خذ بعين الاعتبار المثال التالي:
<html>
<الجسم>
<!-- محتوى الصفحة -->
<لغة البرمجة = "جافا سكريبت">
document.body.onload = وظيفة ()
{
document.title = "الصفحة الرئيسية لـbirdshome";
};
</script>
</الجسم>
</html>
نعم، من السهل جدًا ضبط شريط العنوان لنافذة IE عادية. إذن ماذا هناك لتقوله؟ في هذا الوقت، ماذا لو وضعنا نفس الكود بالضبط في النافذة المشروطة للتنفيذ؟ هل سيتم تعديل شريط عنوان النافذة المشروطة؟ كانت نتائج التجربة محبطة، حيث فشل نفس الكود في النافذة المشروطة. هل يختلف DOM الذي توفره النافذة المشروطة عن النافذة العادية؟ في الواقع، DOM للنافذة المشروطة هو نفسه للنافذة العادية، ولكن الفرق هو أنه بعد تحميل الصفحة في النافذة المشروطة، ستصبح سمة document.title غير صالحة بالفعل. هذا هو السبب في أن العبارة الموجودة في حدث onload لرمز المثال أعلاه ليس لها أي تأثير. طريقة حل هذا القيد بسيطة جدًا، وهي تعديل عنوان المستند قبل تحميل الصفحة، لذلك، لتعديل شريط عنوان IE في النافذة المشروطة، يجب عليك استخدام هذا الرمز:
<html>
<الجسم>
<!-- محتوى الصفحة -->
<لغة البرمجة = "جافا سكريبت">
document.title = "الصفحة الرئيسية لـbirdshome";
</script>
</الجسم>
</html>
فيما يلي مثال يتضمن الطريقتين المذكورتين أعلاه لتعديل شريط عنوان المتصفح. احفظه كملف "abc.htm" وافتحه باستخدام IE ويمكنك رؤية الفرق بشكل بديهي:
<html>
<الجسم>
<زر onclick="foo()">
فتح</زر>
<لغة البرمجة = "جافا سكريبت">
document.body.onload = وظيفة ()
{
document.title = "الصفحة الرئيسية لـbirdshome (إعادة الكتابة)" + unescape(H_A0);
};
document.title = "الصفحة الرئيسية لـbirdshome (الأولى)" + unescape(H_A0)
;
{
window.showModalDialog("abc.htm");
}
</script>
</الجسم>
</html>
والنتيجة هي أن شريط العنوان لنافذة IE العادية سيتغير بسرعة من "صفحة Birdshome الرئيسية (أولاً)" إلى "صفحة Birdshome الرئيسية (إعادة الكتابة)"، بينما يتم فتح عنوان مربع الحوار المشروط باستخدام الزر "فتح" ستكون دائمًا "الصفحة الرئيسية لـbirdshome (الأولى)". من هذا المثال يمكننا أن نرى أنه بالنسبة لنافذة IE عادية، يمكن تعديل شريط العنوان الخاص بها في أي وقت خلال عمر الصفحة. أما بالنسبة لشريط عنوان النافذة المشروطة، فلا يمكننا تعديله إلا قبل تحميل الصفحة (قبل تشغيل حدث التحميل). يتعامل مربع الحوار غير المشروط، الذي تم فتحه بواسطة showModelessDialog، مع شريط العنوان تمامًا مثل مربع الحوار المشروط.
أخيرًا، دعونا نتحدث عن تقنية استخدام document.title. نحن نعلم أنه إذا تم تعديل عنوان الصفحة "ديناميكيًا" على جانب الخادم، فيمكننا كتابة &nbps; بين علامات <title></title> لإنشاء مسافات مستمرة أدخل شريط العنوان. هذه التقنية مفيدة بشكل خاص في النوافذ المشروطة، حتى نتمكن من دفع هذا النص المزعج "-مربع حوار صفحة الويب" خارج شريط العنوان بمسافات مستمرة. بعد استخدام سمة document.title لتعديل شريط عنوان الصفحة، سواء كانت نافذة عادية أو نافذة مشروطة، لا يمكن استخدام " " و"" (مسافة)" وسيتم عرض الأولى مباشرة على شريط العنوان سلسلة، والأخير بغض النظر عن مقدار ما تضيفه، سيكون له تأثير عرض واحد فقط " " (مسافة). هنا علينا استخدام مساحة أخرى، الكيان ، لحل هذه المشكلة. الكود كالتالي:
<html>
<الجسم>
<لغة البرمجة = "جافا سكريبت">
var HexA0s = "%A0 %A0 %A0 %A0";
document.body.onload = وظيفة ()
{
document.title = "الصفحة الرئيسية لـbirdshome (إعادة الكتابة)" + unescape(HexA0s);
};
</script>
</الجسم>
</html>
http://birdshome.cnblogs.com/archive/2006/06/23/control_browser_title.html