【问题标题】:HTA icon not showing up using IE10使用 IE10 未显示 HTA 图标
【发布时间】:2023-08-16 14:12:01
【问题描述】:

我需要使用兼容 IE10 而不是 IE9 的东西。

我的 HTA 是为 IE9 制作的,运行良好:可见图标和最大化窗口。

通过将<meta http-equiv="x-ua-compatible" content="ie=9"/> 更改为<meta http-equiv="x-ua-compatible" content="ie=10"/>,没有图标,窗口也没有最大化。

有什么想法吗?

不工作:

<html>

<head> 
<title>test</title>
<HTA:APPLICATION ID = "1"
    APPLICATIONNAME="1"
    BORDER="thin"
    BORDERSTYLE="normal"
    ICON="icon.ico"
    MAXIMIZEBUTTON="yes"
    MINIMIZEBUTTON="yes"
    SHOWINTASKBAR="yes"
    SINGLEINSTANCE="yes"
    SYSMENU="yes"
    WINDOWSTATE="maximize">
<meta http-equiv="x-ua-compatible" content="ie=10"/>
</head>
<!---->
<body style="overflow:hidden;">
No icon and not maximized, with ie=10
</body>
</html>

工作中:但我现在需要 IE10。

<html>
<head> 
<title>Test</title>
<HTA:APPLICATION ID = "1"
    APPLICATIONNAME="1"
    BORDER="thin"
    BORDERSTYLE="normal"
    ICON="icon.ico"
    MAXIMIZEBUTTON="yes"
    MINIMIZEBUTTON="yes"
    SHOWINTASKBAR="yes"
    SINGLEINSTANCE="yes"
    SYSMENU="yes"
    WINDOWSTATE="maximize">
<meta http-equiv="x-ua-compatible" content="ie=9"/>
</head>
<!---->
<body style="overflow:hidden;">
Icon showing correctly with ie=9
</body>
</html>

【问题讨论】:

  • IE9 是支持 HTA 的最后一个版本。在 IE10 和 IE11 模式下,HTA 标签会自动移动到正文部分,并且不支持 HTA 标签中给出的所有属性。

标签: hta


【解决方案1】:

通常对我有用的方法是将NAVIGABLE 设置为yes 的HTA,并使用标准HTML 将window.location 更改为HTML 文件。这一方面允许使用 HTA 属性,另一方面允许使用 IE=edge(或另一个目标 IE 版本):

myHTA.hta

<html>
<head> 
<title>test</title>
<HTA:APPLICATION ID = "1"
    APPLICATIONNAME="1"
    BORDER="thin"
    BORDERSTYLE="normal"
    ICON="icon.ico"
    MAXIMIZEBUTTON="yes"
    MINIMIZEBUTTON="yes"
    NAVIGABLE="yes"
    SHOWINTASKBAR="yes"
    SINGLEINSTANCE="yes"
    SYSMENU="yes"
    WINDOWSTATE="maximize">

<script>
    window.location = 'htaContent.html';
</script>
</head>
</html>

htaContent.html

<html>
<head> 
<title>test</title>
<meta http-equiv="x-ua-compatible" content="ie=10"/>
</head>
<body style="overflow:hidden;">
    Put your HTML content here
</body>
</html>

here

【讨论】:

  • 感谢您的回答。您的代码可以工作,因为我有一个最大化的窗口和一个图标,但它会打开一个新的 IE 窗口,而不是将 .html 文件的内容显示到 HTA 中。我怎样才能将所有内容都放在同一个窗口中?
  • @Hugo7 你必须在你的 HTA 中设置NAVIGABLE=yes。我已经更新了我的答案。
  • myHTA.hta 中有一个错字,window.location 声明。在htaContent.html 之后应该是' 而不是`。不允许只编辑 1 个字符,因此请写评论