عنوان:

‫آزمایش و اجرای صفحات در محیط Internet Explorer بر روی ویندوزهای جدید


نویسنده: وحید نصیری
تاریخ: ۱۴۰۵/۰۶/۲۴ ۰۷:۱۰
آدرس: www.dntips.ir
برای تست و اجرای صفحات در محیط Internet Explorer روی ویندوز 10، بهترین، پایدارترین و رسمی‌ترین روش استفاده از Internet Explorer Mode (IE Mode) در مرورگر Microsoft Edge است. با بازنشسته شدن رسمی اینترنت اکسپلورر ۱۱، مایکروسافت موتور رندرینگ Trident (MSHTML) را مستقیماً داخل Edge تعبیه کرده تا دقیقاً رفتاری مشابه IE11 (و نسخه‌های قدیمی‌تر با Document Modeهای مختلف) ارائه دهد.

راه‌حل ۱: فعال‌سازی IE Mode در Microsoft Edge (روش استاندارد و بی‌دردسر)
  • مرورگر Microsoft Edge را باز کنید.
  • از منوی بالا سمت راست (سه نقطه ...) وارد Settings شوید.
  • از منوی سمت چپ به بخش Default browser بروید.
  • گزینه Allow sites to be reloaded in Internet Explorer mode (IE mode) را روی Allow تنظیم کنید.
  • مرورگر را Restart کنید.
  • اکنون در هر صفحه‌ای که نیاز به تست دارید، روی تب راست‌کلیک کرده یا از منوی سه‌نقطه گزینه Reload in Internet Explorer mode را انتخاب کنید. اگر این گزینه ظاهر نشد، یکبار دستور زیر را در خط فرمان اجرا کنید:

reg add "HKCU\Software\Policies\Microsoft\Edge" /v InternetExplorerIntegrationLevel /t REG_DWORD /d 1 /f

نکته برای توسعه‌دهندگان (F12 DevTools): برای دسترسی به Developer Tools در این حالت، کافی است کلید‌های Win + R را بزنید و دستور %systemroot%\system32\f12\IEChooser.exe را اجرا کنید. این ابزار به تب‌های فعال در حالت IE Mode متصل می‌شود و Console، DOM و تنظیمات Document Mode (برای شبیه‌سازی IE7 تا IE11) را در اختیارتان می‌گذارد.


راه‌حل ۲: ماشین مجازی رسمی مایکروسافت (تست ۱۰۰٪ ایزوله)
اگر پروژه شما وابستگی‌های عمیق به افزونه‌های قدیمی مثل ActiveX خاص یا تنظیمات رجیستری دست‌نخورده IE دارد:
- مایکروسافت ماشین‌های مجازی رایگان Windows با IE11/Edge Legacy مخصوص توسعه‌دهندگان ارائه می‌دهد که می‌توانید روی VirtualBox، Hyper-V یا VMware ایمپورت کنید.


راه‌حل ۳: ابزارهای شبیه‌ساز ابری (Cross-Browser Testing)
اگر نمی‌خواهید محیط محلی را درگیر کنید:
- BrowserStack یا Sauce Labs: امکان اجرای زنده سایت در IE11 واقعی روی ماشین‌های ویندوزی ابری همراه با DevTools کامل بدون نیاز به نصب هیچ برنامه‌ای.


چگونه می‌توانم از IEChooser برای دیباگ و تنظیم Document Mode در حالت IE Mode اج استفاده کنم؟
ابزار IEChooser ابزار اختصاصی مایکروسافت برای عیب‌یابی تب‌های در حال اجرا در حالت IE Mode مرورگر Edge است، زیرا کلید F12 در این تب‌ها ابزار استاندارد Chromium DevTools را باز نمی‌کند.

مراحل راه‌اندازی و اتصال IEChooser
- ابتدا صفحه وب مورد نظر خود را در Microsoft Edge باز کرده و آن را در حالت IE Mode اجرا کنید (آیکون Internet Explorer کنار نوار آدرس نمایش داده می‌شود).
- پنجره Run را باز کنید (کلید‌های ترکیبی Win + R).
- مسیر زیر را وارد کرده و Enter بزنید:
%systemroot%\system32\f12\IEChooser.exe
- پنجره IEChooser باز می‌شود و فهرستی از تمام تب‌هایی که در حالت IE Mode فعال هستند را نمایش می‌دهد.
- روی تب یا صفحه وب مدنظرتان کلیک کنید تا پنجره کامل F12 Developer Tools سنتی اینترنت اکسپلورر باز شود.

تنظیم Document Mode (تغییر نگارش رندرینگ IE)
پس از باز شدن ابزار DevTools:
  • شبیه‌سازی نسخه‌های قدیمی (IE5 تا IE11): به تب Emulation بروید. در بخش Document mode، منوی کشویی را باز کنید؛ می‌توانید نگارش مورد نظر (مانند 11, 10, 9, 8, 7, یا 5 (Quirks)) را انتخاب کنید تا صفحه بلافاصله با موتور رندرینگ همان نسخه بازنشانی شود.
  • تنظیم رشته User Agent: در همان تب Emulation، از بخش User agent string می‌توانید رفتار مرورگر در شناسایی هدر User-Agent را شبیه‌سازی کنید.
  • بررسی خطاهای اسکریپت: تب‌های Console و Debugger برای ردیابی باگ‌های جاوااسکریپت ناشی از عدم پشتیبانی سینتکس‌های مدرن (مثل ES6+) در موتور رندرینگ MSHTML در دسترستان خواهد بود.

نکات کاربردی
- سیستم‌های ۶۴ بیتی: اگر از نسخه ۶۴ بیتی با پراسس‌های خاص استفاده می‌کنید و پنجره ابزار باز نشد، مسیر نسخه ۶۴ بیتی نیز در دسترس است:
%systemroot%\syswow64\f12\IEChooser.exe
- اجبار از طریق متا تگ: اگر می‌خواهید صفحه شما بدون دخالت دستی در محیط مشخصی از IE رندر شود، می‌توانید تگ زیر را در صفحه قرار دهید:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
(مقدار content می‌تواند مواردی مانند IE=9 یا IE=EmulateIE8 باشد).


چگونه با Enterprise Mode Site List Manager کاری کنیم که آدرس‌های لوکال یا سایت مشخصی همیشه به صورت خودکار در IE Mode باز شوند؟
برای اینکه آدرس‌های لوکال (مانند localhost:5000 یا IP سرورهای داخلی) یا دامنه‌های خاص همیشه بدون نیاز به کلیک دستی مستقیماً در IE Mode مرورگر Edge باز شوند، استانداردترین روش استفاده از Enterprise Mode Site List (فایل XML) و متصل کردن آن به پالیسی ویندوز است.

این فرایند در ۳ مرحله انجام می‌شود:

مرحله ۱: ایجاد فایل کانفیگ XML
می‌توانید از نرم‌افزار رسمی Enterprise Mode Site List Manager استفاده کنید یا مستقیماً یک فایل متنی با پسوند .xml ایجاد کنید (این روش سریع‌تر و دقیق‌تر است).
یک فایل متنی به نام sites.xml بسازید (مثلاً در مسیر C:\SiteList\sites.xml) و محتوای زیر را در آن قرار دهید:
<site-list version="1">
  <!-- اجرای یک آدرس لوکال در حالت IE11 پیش‌فرض -->
  <site url="localhost:5000">
    <compat-mode>Default</compat-mode>
    <open-in>IE11</open-in>
  </site>

  <!-- نمونه اجرای یک IP سرور یا سایت داخلی با اجبار به شبیه‌سازی IE8 -->
  <site url="192.168.1.100">
    <compat-mode>IE8Enterprise</compat-mode>
    <open-in>IE11</open-in>
  </site>

  <!-- نمونه یک دامنه اینترنتی یا تست -->
  <site url="legacy.local">
    <compat-mode>Default</compat-mode>
    <open-in>IE11</open-in>
  </site>
</site-list>
  • نکته compat-mode: اگر می‌خواهید صفحه با موتور پیش‌فرض IE11 بالا بیاید مقدار را Default بگذارید. اگر نیاز به شبیه‌سازی نسخه‌های قدیمی‌تر دارید، مقادیری مثل IE8Enterprise یا IE7 معتبر هستند.
  • نکته نسخه (version): هر زمان که آدرس جدیدی اضافه یا ویرایش کردید، عدد version="1" را به version="2" (و بالاتر) تغییر دهید تا مرورگر متوجه تغییر فایل شود.

مرحله ۲: فعال‌سازی پالیسی در ویندوز (Group Policy)
برای اعمال فایل به مرورگر Edge:
- کلیدهای Win + R را بزنید، عبارت gpedit.msc را تایپ کرده و اینتر بزنید تا پنجره Local Group Policy Editor باز شود.
- به مسیر زیر بروید:
Computer Configuration > Administrative Templates > Microsoft Edge
- (اگر پوشه Microsoft Edge را در Group Policy مشاهده نمی‌کنید، از روش جایگزین رجیستری در انتهای این بخش استفاده کنید).
- پالیسی Configure Internet Explorer integration را باز کرده، آن را روی Enabled قرار دهید و در بخش تنظیمات گزینه Internet Explorer mode را انتخاب کنید.
- پالیسی Configure the Enterprise Mode Site List را باز کرده، آن را روی Enabled قرار دهید و مسیر فایل XML را به فرمت آدرس فایل محلی وارد کنید:
file:///C:/SiteList/sites.xml
- روی Apply و سپس OK کلیک کنید.

روش جایگزین با PowerShell یا Registry (سریع و بدون نیاز به تمپلیت Edge):
اگر تمپلیت‌های پالیسی اج را ندارید، یک پنجره PowerShell یا CMD را به صورت Run as Administrator باز کرده و دو دستور زیر را اجرا کنید:
reg add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "InternetExplorerIntegrationLevel" /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "InternetExplorerIntegrationSiteList" /t REG_SZ /d "file:///C:/SiteList/sites.xml" /f

مرحله ۳: رفرش پالیسی و تست در Edge
- یک تب جدید در Edge باز کنید و به آدرس زیر بروید:
edge://compat/ieditormode
- یا
edge://compat/enterprise
- دکمه Force update را بزنید تا مطمئن شوید مرورگر فایل XML را خوانده است.
- در همین صفحه بررسی کنید که نسخه XML و لیست آدرس‌های اضافه شده به‌درستی شناسایی شده باشند.
- اکنون کافی است آدرس مورد نظر (مثلاً http://localhost:5000) را در نوار آدرس وارد کنید؛ سایت به‌طور خودکار بدون نیاز به کلیک اضافی با آیکون اینترنت اکسپلورر باز می‌شود.