การแปลงไฟล์ xsl เดียวกันใน ie9 และ ie10 ทำให้ได้ html ที่แตกต่างกัน

ฉันมีรหัส XSL ที่มีลักษณะเช่นนี้...

<xsl:template name="doHeader">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
<head>
    <xsl:processing-instruction name="IMPORT">
        namespace="search" implementation="../html/scripts/button.htc"
    </xsl:processing-instruction>
    <style type="text/css">
        @import url("../temp/theme.css");
        @import url("../html/css/view.css");
        @import url("../html/css/search.css");
    </style>
    <script src="../html/scripts/utils.js" />
    <script src="../html/scripts/search.js" />
</head>
</xsl:template>

(แน่นอนว่าฉันได้เพิ่มเมตาแท็กนั้นในเวอร์ชัน ie10) อย่างไรก็ตาม ใน html ที่รันใน ie9 จะมีโค้ดสำหรับปุ่ม แต่ใน ie10 จะไม่มีโค้ดของปุ่ม

ie9 หน้าตาแบบนี้...

<TR><TD>
    <?import namespace = search urn = "_" implementation = "file:///C:/Users/.../button.htc" /><search:button onclick=handleSubmit() value="OK">
    <DIV>
    <DIV style="LINE-HEIGHT: 1px; BACKGROUND-COLOR: #a1b8c9; MARGIN: 0px 2px; DISPLAY: block; HEIGHT: 1px; FONT-SIZE: 1px">&nbsp;</DIV>
    <DIV style="BORDER-BOTTOM: #a1b8c9 0px solid; BORDER-LEFT: #a1b8c9 1px solid; LINE-HEIGHT: 1px; MARGIN: 0px 1px; DISPLAY: block; BACKGROUND: #eef5f9; HEIGHT: 1px; FONT-SIZE: 1px; BORDER-TOP: #a1b8c9 0px solid; BORDER-RIGHT: #a1b8c9 1px solid">&nbsp;</DIV>
    <DIV style="BORDER-BOTTOM: #a1b8c9 0px solid; POSITION: relative; TEXT-ALIGN: center; BORDER-LEFT: #a1b8c9 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eef5f9; PADDING-LEFT: 20px; PADDING-RIGHT: 20px; DISPLAY: block; FONT-FAMILY: tahoma; WHITE-SPACE: nowrap; COLOR: #000000; FONT-SIZE: 10pt; BORDER-TOP: #a1b8c9 0px solid; CURSOR: default; BORDER-RIGHT: #a1b8c9 1px solid; PADDING-TOP: 4px; TOP: 0px; LEFT: 0px" tabIndex=0>
    <DIV>OK</DIV>
    <P style="POSITION: absolute; COLOR: #ff0000; TOP: 5px; LEFT: 35px"></P></DIV>
    <DIV style="BORDER-BOTTOM: #a1b8c9 0px solid; BORDER-LEFT: #a1b8c9 1px solid; LINE-HEIGHT: 1px; MARGIN: 0px 1px; DISPLAY: block; BACKGROUND: #eef5f9; HEIGHT: 1px; FONT-SIZE: 1px; BORDER-TOP: #a1b8c9 0px solid; BORDER-RIGHT: #a1b8c9 1px solid">&nbsp;</DIV>
    <DIV style="LINE-HEIGHT: 1px; BACKGROUND-COLOR: #a1b8c9; MARGIN: 0px 2px; DISPLAY: block; HEIGHT: 1px; FONT-SIZE: 1px">&nbsp;</DIV></DIV></search:button>
</TD></TR>

แต่ใน ie10 ดูเหมือนว่า...

<TR><TD><search:button onclick=handleSubmit() value="OK"></search:button></TD></TR>

ฉันต้องทำอย่างไรเพื่อให้ได้ ie10 เพื่อสร้าง html (ish) เดียวกันกับ ie9


person Joboodi    schedule 02.11.2012    source แหล่งที่มา
comment
โปรดแก้ไขคำถามและระบุผลลัพธ์ ทั้งสอง ใน IE9 และ IE10 ไม่ใช่แค่ผลลัพธ์ของ IE9 เท่านั้น ฉันเดาว่าคุณอาจต้องมี: <xsl:processing-instruction name="import"> -- IE10 อาจคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่มากกว่า IE9   -  person Dimitre Novatchev    schedule 03.11.2012
comment
ฉันคิดว่าองค์ประกอบ meta อยู่ภายใน head ไม่ใช่ก่อนหน้าองค์ประกอบนั้น นั่นอาจเป็นปัญหาหนึ่งที่อาจเกิดขึ้น   -  person Martin Honnen    schedule 03.11.2012
comment
@Dimitre การเปลี่ยนเคสใช้งานไม่ได้   -  person Joboodi    schedule 05.11.2012
comment
@Martin การย้ายเมตาแท็กภายใน head ไม่ทำงานเช่นกัน   -  person Joboodi    schedule 05.11.2012
comment
ฉันจะพยายามแยกปัญหาด้วยการสร้างเอกสาร HTML แบบคงที่ก่อนโดยใช้ htc นั้น หาก IE10 แสดงผลตามที่คุณต้องการ เราจำเป็นต้องพยายามตรวจสอบให้แน่ใจว่าเอาต์พุต XSLT นั้นแสดงผลเหมือนกับ HTML แบบคงที่ ขณะนี้ยังไม่ชัดเจนว่าปัญหาอยู่ที่ IE10 ไม่รองรับการใช้งาน htc นั้นหรือเป็นปัญหา XSLT   -  person Martin Honnen    schedule 06.11.2012
comment
@Martin เมื่อฉันคัดลอกและวางโค้ด IE9 ที่ใช้งานได้ลงใน html ที่สร้างขึ้นจากเครื่องมือ F12 ด้วย IE10 มันจะเรนเดอร์ปุ่มใน IE10   -  person Joboodi    schedule 06.11.2012
comment
ฉันขอโทษ แต่ฉันไม่คิดว่าเราจะแก้ปัญหานั้นได้ด้วยการแลกเปลี่ยนความคิดเห็นใน Stackoverflow คุณสามารถโพสต์ลิงก์ไปยังตัวอย่างที่น้อยที่สุดแต่ครบถ้วนซึ่งแสดงถึงปัญหาได้หรือไม่   -  person Martin Honnen    schedule 06.11.2012
comment
ไม่ ขออภัย ฉันไม่มีเวลาดาวน์โหลด ติดตั้ง และตรวจสอบสิ่งต่างๆ ในเครื่องที่นี่ อาจมีคนอื่นที่อ่านอยู่ก็เต็มใจทำ คุณอาจต้องการถามใน social.msdn.microsoft.com/Forums/ en-US/iewebdevelopment/threads เป็นทางเลือกแทนการมองหาความช่วยเหลือที่นี่ แม้ว่าในกรณีใดก็ตาม โอกาสในการค้นหาความช่วยเหลือจะสูงกว่าหากคุณมี URL ที่ผู้อื่นสามารถเข้าชมได้โดยตรงด้วยเบราว์เซอร์   -  person Martin Honnen    schedule 09.11.2012
comment
ใช่ ฉันโพสต์ที่นั่นพร้อมกับโพสต์นี้ และฉันก็ไม่มีการตอบกลับใดๆ ที่นั่นเช่นกัน   -  person Joboodi    schedule 12.11.2012


คำตอบ (1)


ฉันจำเป็นต้องระบุชุดอักขระ UTF-8 เมื่อแปลง xml เป็น html ฉันต้องเพิ่มแท็กนี้ที่ด้านบนของไฟล์ XSL

<xsl:output method="html" encoding="UTF-8"/>

ในบางไฟล์ มี <xsl:output method="html" /> อยู่แล้ว แต่การเพิ่มการเข้ารหัสช่วยแก้ไขปัญหาได้

person Joboodi    schedule 28.11.2012