मैं एएसपी.नेट वेबफॉर्म प्रोजेक्ट में कुछ क्रॉस-संगतता समस्याओं को ट्रैक कर रहा हूं, और मैं कुछ असाधारण व्यवहार में चल रहा हूं। अलग-अलग ब्राउज़रों के साथ एक ही पृष्ठ को मारना अलग-अलग परिणाम उत्पन्न करता है, जो अक्सर होता है। इस मामले के बारे में उत्सुकता यह है कि जब मैं विभिन्न ब्राउज़रों में स्रोत देखता हूं, तो यह मुझे अलग-अलग HTML दिखा रहा है।क्या वेब ब्राउज़र खराब/बहिष्कृत एचटीएमएल को ठीक करने का प्रयास करते हैं?
आईई 10:
<td id="ctl00_MainMenu-menuItem010" onclick="javascript:skm_closeSubMenus(document.getElementById('ctl00_MainMenu'));location.href='../Nurse/nurses_patients.aspx';" onmouseover="javascript:skm_mousedOverMenu('ctl00_MainMenu',this, document.getElementById('ctl00_MainMenu'), false, '');skm_shimSetVisibility(true,'ctl00_MainMenu-menuItem010-subMenu');" onmouseout="javascript:skm_mousedOutMenu('ctl00_MainMenu', this, '');this.className='';" style="cursor:hand;"><font face="Verdana"><b>Patients</b></font></td>
एफएफ:
<td id="ctl00_MainMenu-menuItem010" onclick="javascript:skm_closeSubMenus(document.getElementById('ctl00_MainMenu'));location.href='../Nurse/nurses_patients.aspx';" onmouseover="javascript:skm_mousedOverMenu('ctl00_MainMenu',this, document.getElementById('ctl00_MainMenu'), false, '');" onmouseout="javascript:skm_mousedOutMenu('ctl00_MainMenu', this, '');this.className='';" style="cursor:pointer;">Patients</td>
क्रोम:
<td id="ctl00_MainMenu-menuItem010" onclick="javascript:skm_closeSubMenus(document.getElementById('ctl00_MainMenu'));location.href='../Nurse/nurses_patients.aspx';" onmouseover="javascript:skm_mousedOverMenu('ctl00_MainMenu',this, document.getElementById('ctl00_MainMenu'), false, '');" onmouseout="javascript:skm_mousedOutMenu('ctl00_MainMenu', this, '');this.className='';" style="cursor:pointer;">Patients</td>
नोट अतिरिक्त < फ़ॉन्ट > और आईई संस्करण में < ख > टैग। यह एक पुराना ऐप है जिसे मैं रखरखाव कर रहा हूं। यह एक एसएमएम मेनू नियंत्रण का उपयोग कर रहा है और बोल्ड और वर्डाना फ़ॉन्ट स्पष्ट रूप से नियंत्रण के गुणों में सेट हैं।
<SKM:menu id="MainMenu" runat="server" Cursor="Pointer" ItemPadding="7" Font-Bold="True" Font-Size="12px"
Font-Names="Verdana" ItemSpacing="0" BorderColor="Black" BorderWidth="1px" BorderStyle="solid" GridLines="Both"
BackColor="silver" Layout="Horizontal">
<SelectedMenuItemStyle ForeColor="Red" BackColor="White" />
</SKM:menu>
इसके अलावा मुझे हैरान, यह एचटीएमएल हम स्रोत देखें IE9 का उपयोग कर के साथ देखें:
<td id="ctl00_MainMenu-menuItem010" onclick="javascript:skm_closeSubMenus(document.getElementById('ctl00_MainMenu'));location.href='../Nurse/nurses_patients.aspx';" onmouseover="javascript:skm_mousedOverMenu('ctl00_MainMenu',this, document.getElementById('ctl00_MainMenu'), false, '');skm_shimSetVisibility(true,'ctl00_MainMenu-menuItem010-subMenu');" onmouseout="javascript:skm_mousedOutMenu('ctl00_MainMenu', this, '');this.className='';" style="cursor:hand;">Patients</td>
मैं इसे सर्वर अलग एचटीएमएल प्रतिपादन चाहे UserAgent पर या अगर आधारित नीचे ट्रैक करने के लिए कोशिश कर रहा हूँ ब्राउजर ऑन-द-फ्लाई बदलकर स्मार्ट बनने की कोशिश कर रहे हैं और जब आप स्रोत देखते हैं तो "क्लीन-अप" संस्करण दिखाते हैं। उम्मीद है कि यह दोनों का कुछ संयोजन नहीं है।
संपादित करें: I (या बल्कि ग्राहक) ने तब तक यह नहीं देखा जब तक कि मैं Win2k3 सर्वर से Win2k3 R2 सर्वर पर होस्ट माइग्रेट नहीं करता। अगर मैं आईई 10 से आर 2 सर्वर दबाता हूं, तो मुझे उन अतिरिक्त टैग मिलते हैं। यदि मैंने आईई 10 से गैर-आर 2 सर्वर मारा है, तो मुझे उन टैग नहीं मिलते हैं। सटीक एक ही कोड और आईआईएस 6 दोनों।
संभावना से अधिक, नियंत्रण स्वयं ब्राउज़र पहचान का कुछ रूप कर रहा है, फिर उचित तरीके से स्टाइल कर रहा है। पिछड़ा संगतता बनाए रखने के लिए वास्तव में यह एक अच्छा तरीका है - हालांकि जाहिर है, डेवलपर को ओवरराइड करना मुश्किल हो जाता है। – Rake36