Mengubah file xsl yang sama di ie9 dan ie10 menghasilkan html yang berbeda

Saya memiliki kode XSL yang terlihat seperti ini...

<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>

(Tentu saja, saya menambahkan meta tag itu di versi ie10). Oya, di html yang dijalankan di ie9, ada kode untuk tombolnya, tapi di ie10, tidak ada kode tombol.

ie9 terlihat seperti ini...

<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>

tapi di ie10 sepertinya...

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

Apa yang harus saya lakukan agar ie10 menghasilkan html (ish) yang sama dengan ie9?


person Joboodi    schedule 02.11.2012    source sumber
comment
Harap edit pertanyaan dan berikan hasil keduanya -- di IE9 dan IE10 -- bukan hanya hasil IE9. Dugaan saya adalah Anda mungkin perlu memiliki: <xsl:processing-instruction name="import"> -- IE10 mungkin lebih peka huruf besar-kecil daripada IE9.   -  person Dimitre Novatchev    schedule 03.11.2012
comment
Saya pikir elemen meta berada di dalam head, bukan sebelumnya. Ini bisa menjadi salah satu potensi masalah.   -  person Martin Honnen    schedule 03.11.2012
comment
@Dimitre mengubah kasus ini sayangnya tidak berhasil.   -  person Joboodi    schedule 05.11.2012
comment
@Martin memindahkan tag meta ke dalam head juga tidak berhasil.   -  person Joboodi    schedule 05.11.2012
comment
Saya akan mencoba mengisolasi masalahnya dengan terlebih dahulu membuat dokumen HTML statis menggunakan htc itu. Jika IE10 merendernya seperti yang Anda inginkan maka kita perlu mencoba memastikan bahwa output XSLT dirender sama dengan HTML statis. Saat ini tidak jelas apakah masalahnya terletak pada IE10 yang tidak mendukung penggunaan htc tersebut atau apakah ini merupakan masalah XSLT.   -  person Martin Honnen    schedule 06.11.2012
comment
@Martin ketika saya menyalin dan menempelkan kode IE9 yang berfungsi itu ke dalam html yang dihasilkan dari alat F12 dengan IE10, itu merender tombol di IE10.   -  person Joboodi    schedule 06.11.2012
comment
Saya minta maaf tapi saya rasa kita tidak bisa menyelesaikannya dengan bertukar komentar di Stackoverflow. Bisakah Anda memposting tautan ke contoh minimal namun lengkap yang menggambarkan masalahnya?   -  person Martin Honnen    schedule 06.11.2012
comment
Tidak, maaf, saya tidak punya waktu untuk mengunduh, menginstal, dan memeriksa hal-hal secara lokal di sini, mungkin orang lain yang membaca bersedia melakukannya. Anda mungkin ingin bertanya di social.msdn.microsoft.com/Forums/ en-US/iewebdevelopment/threads sebagai alternatif untuk mencari bantuan di sini meskipun peluang Anda untuk mendapatkan bantuan lebih tinggi jika Anda memiliki URL yang dapat dikunjungi orang lain secara langsung dengan browser.   -  person Martin Honnen    schedule 09.11.2012
comment
Ya, saya mempostingnya di sana pada saat yang sama saya membuat postingan ini, dan saya juga belum mendapat tanggapan apa pun di sana.   -  person Joboodi    schedule 12.11.2012


Jawaban (1)


Saya perlu menentukan rangkaian karakter UTF-8 saat mengonversi xml ke html. Saya harus menambahkan tag ini ke bagian atas file XSL saya.

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

Di beberapa file, <xsl:output method="html" /> ada, tetapi menambahkan pengkodean memperbaiki masalah.

person Joboodi    schedule 28.11.2012