روش Open () رابط پنجره یک منبع مشخص را در یک زمینه مرور جدید یا موجود (یعنی یک برگه ، یک پنجره یا یک IFRAME) با نام مشخص بارگیری می کند.
نحو
مولفه های
رشته ای که نشانگر URL یا مسیر منبع بارگیری است. اگر یک رشته خالی ("") مشخص شود یا این پارامتر حذف شود ، یک صفحه خالی در متن مرور هدفمند باز می شود.
یک رشته ، بدون فضای سفید ، نام زمینه مرور را که منبع در آن بارگذاری می شود ، مشخص می کند. اگر نام یک زمینه موجود را مشخص نکند ، زمینه جدیدی ایجاد می شود و با توجه به نام مشخص شده. کلمات کلیدی هدف ویژه ، _ self ، _blank ، _parent و _top نیز می تواند استفاده شود.
از این نام می توان به عنوان ویژگی هدف یا عناصر استفاده کرد.
رشته ای که حاوی لیستی از ویژگی های پنجره جدا شده از ویژگی های پنجره در نام شکل = مقدار-یا برای ویژگی های بولی است ، فقط نام را نام ببرید. این ویژگی ها شامل گزینه هایی از قبیل اندازه و موقعیت پیش فرض پنجره ، خواه برای باز کردن یک پنجره حداقل پنجره ، و غیره است. گزینه های زیر پشتیبانی می شوند:
اگر این ویژگی فعال باشد ، درخواست می کند که از یک پنجره حداقل پنجره استفاده شود. ویژگی های UI موجود در پنجره بازشو به طور خودکار توسط مرورگر تصمیم می گیرد ، به طور کلی فقط یک نوار آدرس.
اگر پنجره فعال نباشد و هیچ ویژگی پنجره ای اعلام نشده باشد ، زمینه جدید مرور یک برگه خواهد بود.
توجه: مشخص کردن هر ویژگی در پارامتر Windowfeatures ، به غیر از Noopener یا Noreferrer ، همچنین تأثیر درخواست پنجره را دارد.
برای فعال کردن ویژگی ، پنجره را بدون هیچ ارزش مشخص کنید ، یا آن را روی بله ، 1 یا درست تنظیم کنید.
مثال: بازشده = بله ، بازشو = 1 ، پاپ آپ = درست و پاپ آپ همه نتایج یکسان دارند.
عرض یا عرض داخلی
عرض منطقه محتوا ، از جمله کابوس های پیمایش را مشخص می کند. حداقل مقدار مورد نیاز 100 است.
ارتفاع یا ارتفاع درونی
ارتفاع منطقه محتوا ، از جمله سوتین ها را مشخص می کند. حداقل مقدار مورد نیاز 100 است.
سمت چپ یا screenx
فاصله در پیکسل ها را از سمت چپ منطقه کار مشخص می کند همانطور که توسط سیستم عامل کاربر در جایی که پنجره جدید ایجاد می شود تعریف شده است.
فاصله در پیکسل ها را از قسمت بالای منطقه کار همانطور که توسط سیستم عامل کاربر تعریف شده است که در آن پنجره جدید ایجاد می شود ، مشخص می کند.
اگر این ویژگی تنظیم شود ، پنجره جدید از طریق پنجره به پنجره مبدأ دسترسی نخواهد داشت و NULL را برمی گرداند.
هنگامی که از Nooopener استفاده می شود ، نام های هدف غیر خالی ، به غیر از _top ، _ self و _parent ، مانند _blank از نظر تصمیم گیری در مورد باز کردن زمینه مرور جدید رفتار می شوند.
اگر این ویژگی تنظیم شود ، مرورگر هدر مراجعه کننده را حذف می کند ، و همچنین Noopener را تنظیم می کند. برای اطلاعات بیشتر به REL = "noreferrer" مراجعه کنید.
توجه: مقادیر درخواست شده (بالا ، چپ) و ابعاد درخواست شده (عرض ، ارتفاع) در پنجره های پنجره اصلاح می شود اگر هر یک از این مقدار درخواستی اجازه ندهد کل پنجره های مرورگر در قسمت کار برای برنامه های کاربردی کاربر ارائه شودسیستم. به عبارت دیگر ، هیچ بخشی از پنجره جدید نمی تواند در ابتدا در صفحه نمایش قرار بگیرد.
مقدار بازگشت
یک شیء Windowproxy. از مرجع برگشتی می توان برای دسترسی به خصوصیات و روشهای پنجره جدید استفاده کرد تا زمانی که مطابق با الزامات امنیتی خط مشی همان منبعی باشد.
شرح
روش Open () رابط پنجره URL را به عنوان یک پارامتر می گیرد و منبعی را که در یک برگه یا پنجره جدید یا موجود مشخص می کند ، بارگذاری می کند. پارامتر هدف تعیین می کند که کدام پنجره یا زبانه برای بارگذاری منبع در آن قرار دارد و از پارامتر Windowfeatures می توان برای کنترل یک پنجره جدید با حداقل ویژگی های UI و کنترل اندازه و موقعیت آن استفاده کرد.
توجه داشته باشید که URL های از راه دور بلافاصله بارگیری نمی شوند. هنگامی که windows. open () برمی گردد ، پنجره همیشه حاوی: خالی است. واکشی واقعی URL به تعویق می افتد و پس از پایان اجرای بلوک اسکریپت فعلی شروع می شود. ایجاد پنجره و بارگیری منبع ارجاع شده به صورت ناهمزمان انجام می شود.
مثال ها
باز کردن یک برگه جدید
باز کردن یک پنجره
از طرف دیگر ، مثال زیر نحوه باز کردن یک پنجره را با استفاده از ویژگی بازشو نشان می دهد.
هشدار: مرورگرهای مدرن دارای مسدود کننده های داخلی هستند و از افتتاح چنین پنجره ها جلوگیری می کنند. کاربران باید تنظیمات مرورگر خود را تغییر داده اند تا پنجره ها را فعال کنند یا آنها را به صورت سایت در هر سایت از رابط کاربری مرورگر فعال کنند (ممکن است یک اعلان ممکن است در هنگام تلاش برای باز کردن پنجره برای اولین بار ظاهر شود ، و گزینه ای را برای فعال کردن یا امکان پذیر می کند. آنها را دور بریزید).
کنترل اندازه و موقعیت پنجره جدید امکان پذیر است:
پیشرفت پیشرونده
در بعضی موارد ، JavaScript غیرفعال یا در دسترس نیست و Window. Open () کار نخواهد کرد. به جای اینکه فقط به حضور این ویژگی تکیه کنیم ، می توانیم یک راه حل جایگزین ارائه دهیم تا سایت یا برنامه هنوز هم عمل کند.
در هنگام غیرفعال کردن JavaScript روشهای جایگزین ارائه دهید
اگر پشتیبانی JavaScript غیرفعال یا غیر موجود باشد ، آنگاه کاربر بر این اساس یک پنجره ثانویه ایجاد می کند یا منبع ارجاع شده را مطابق با استفاده از ویژگی هدف ، ارائه می دهد. هدف و ایده این است که راهی برای باز کردن منبع ارجاع شده به کاربر ارائه دهیم (و تحمیل نشود).
جاذب
کد فوق چند مشکل قابلیت استفاده مربوط به پیوندها را باز می کند. هدف از این رویداد. PreventDefault () در کد لغو عملکرد پیش فرض پیوند است: اگر شنونده رویداد برای کلیک اجرا شود ، دیگر نیازی به اجرای اقدام پیش فرض پیوند نیست. اما اگر پشتیبانی JavaScript در مرورگر کاربر غیرفعال یا وجود ندارد ، پس شنونده رویداد برای کلیک نادیده گرفته می شود ، و مرورگر منبع ارجاع شده را در قاب یا پنجره ای که دارای نام "WikipediaWindowname" است ، بارگیری می کند. اگر هیچ فریم و پنجره ای از نام "WikipediaWindowname" برخوردار باشد ، مرورگر یک پنجره جدید ایجاد می کند و آن را "WikipediaWindowname" نامگذاری می کند.
توجه: برای اطلاعات بیشتر در مورد ویژگی هدف ، مراجعه کنید.
از ویندوزهای موجود استفاده مجدد کنید و از Target = "_ خالی" خودداری کنید
با استفاده از "_Blank" به عنوان مقدار ویژگی هدف ، چندین ویندوز جدید و نامشخص را در دسک تاپ کاربر ایجاد می کند که قابل بازیافت یا استفاده مجدد نیست. سعی کنید یک نام معنی دار به ویژگی هدف خود ارائه دهید و از چنین ویژگی هدف در صفحه خود استفاده مجدد کنید تا یک کلیک روی پیوند دیگری ممکن است منبع ارجاع شده را در یک پنجره قبلاً ایجاد شده و ارائه شده بارگیری کند (بنابراین روند کار را برای کاربر سرعت می بخشد) و بنابراین توجیه می کنددلیل (و منابع سیستم کاربر ، زمان صرف شده) برای ایجاد یک پنجره ثانویه در وهله اول. استفاده از یک مقدار ویژگی هدف واحد و استفاده مجدد از آن در پیوندها بسیار بیشتر منابع کاربر دوستانه است زیرا فقط یک پنجره ثانویه واحد ایجاد می کند ، که بازیافت می شود.
در اینجا مثالی آورده شده است که می توان یک پنجره ثانویه را برای سایر لینک ها باز و استفاده مجدد کرد:
جاذب
سیاست همان منشاء
اگر زمینه مرور تازه افتتاح شده با همان منشأ مشترک نباشد ، اسکریپت باز قادر به تعامل (خواندن یا نوشتن) با محتوای زمینه مرور نخواهد بود.
برای اطلاعات بیشتر ، به مقاله خط مشی همان منبعی مراجعه کنید.
دسترسی
از توسل به Window. Open () خودداری کنید
به دلایل مختلف از توسل به Window. Open () جلوگیری می شود:
- مرورگرهای مدرن یک ویژگی مسدود کننده پنجره را ارائه می دهند.
- مرورگرهای مدرن مرور زبانه را ارائه می دهند ، و کاربران مرورگر با قابلیت زبانه ترجیح می دهند برگه های جدید را برای باز کردن ویندوزهای جدید در بیشتر مواقع باز کنند.
- کاربران ممکن است از ویژگی ها یا برنامه های افزودنی داخلی مرورگر استفاده کنند تا بتوانند پیوندی را در یک پنجره جدید ، در همان پنجره ، در یک برگه جدید ، همان برگه یا در پس زمینه باز کنند. مجبور کردن دهانه به روشی خاص ، با استفاده از Window. Open () ، آنها را گیج می کند و از عادت های آنها بی اعتنایی می کند.
- بازشورها نوار ابزار منو ندارند ، در حالی که زبانه های جدید از رابط کاربری پنجره مرورگر استفاده می کنند. بنابراین ، بسیاری از کاربران مرور زبانه را ترجیح می دهند زیرا رابط پایدار است.
هرگز از Window. Open () درون خطی در HTML استفاده نکنید
این مقادیر جعلی HREF باعث ایجاد رفتار غیر منتظره هنگام کپی کردن/کشیدن پیوندها ، باز کردن پیوندها در یک برگه/پنجره جدید ، نشانه گذاری یا هنگام بارگیری JavaScript ، خطاها یا غیرفعال شدن می شود. آنها همچنین معانی نادرست را به فن آوری های کمکی مانند خوانندگان صفحه نمایش منتقل می کنند.
همیشه پیوندهای منتهی به یک پنجره ثانویه را شناسایی کنید
پیوندهایی را شناسایی کنید که ویندوزهای جدید را به روشی باز می کنند که به ناوبری کاربران کمک می کند.
هدف این است که به کاربران در مورد تغییرات زمینه هشدار دهید تا سردرگمی از طرف کاربر به حداقل برسد: تغییر پنجره فعلی یا ظاهر شدن ویندوزهای جدید می تواند برای کاربران بسیار ناسازگار باشد (در صورت وجود یک پنجره ، هیچ نوار ابزار یک دکمه "قبلی" را برای دریافت فراهم می کندبازگشت به پنجره قبلی).
هنگامی که تغییرات شدید در زمینه قبل از وقوع به صراحت مشخص می شود ، کاربران می توانند تعیین کنند که آیا مایل به ادامه کار هستند یا می توانند برای تغییر آماده شوند: نه تنها آنها گیج نمی شوند یا احساس اختلال نمی کنند ، بلکه کاربران باتجربه تر می توانند تصمیم بگیرندنحوه باز کردن چنین پیوندهایی (در یک پنجره جدید یا نه ، در همان پنجره ، در یک برگه جدید یا نه ، در "پس زمینه" یا نه).
حساب اسلامي...
ما را در سایت حساب اسلامي دنبال می کنید
برچسب :
نویسنده : کامران فیوضات
بازدید : <-PostHit->
تاريخ : پنجشنبه
4 خرداد
1402 ساعت: 0:01