2

私はこのような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 版で追加しました)。とにかく、ie9 で実行される html にはボタンのコードがありますが、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 で ie9 と同じ (っぽい) html を生成するにはどうすればよいですか?

4

1 に答える 1

2

xmlをhtmlに変換するときにUTF-8文字セットを指定する必要がありました。このタグをXSLファイルの先頭に追加する必要がありました。

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

一部のファイルには<xsl:output method="html" />存在していましたが、エンコーディングを追加すると問題が修正されました。

于 2012-11-28T17:32:10.523 に答える