- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不知道为什么,但我的子功能不起作用。我以为我已经遵循了它应该如何工作,但它只会导致一个错误,声称我的函数未定义。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="x-ua-compatible" content="IE=edge">
<title>Remote Registry</title>
<HTA:APPLICATION
APPLICATIONNAME="Remote Registry"
ID="RemReg"
VERSION="1.0.0.0"
SCROLL="no"
SINGLEINSTANCE="yes"
CONTEXTMENU="no"
NAVIGABLE="yes"
SELECTION="no"
/>
<style type="text/css">
body
{
margin: 0;
width: 130px;
height: 180px;
overflow: hidden;
font-family: arial;
font-weight: bold;
font-size: 12px;
}
</style>
</head>
<SCRIPT LANGUAGE="VBScript">
Sub CheckService
strComputer = txtBox.value
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colRunningServices = objWMIService.ExecQuery _
("Select * from Win32_Service Where Name=""RemoteRegistry""")
For Each objService in colRunningServices
Output = objService.DisplayName & " is " & objService.State
Next
End Sub
</script>
<body>
<input type="text" name="TxTbox" size="30" value=DTP-> Computer to check<br />
<input id=checkservice type="button" value="Add Button" onClick="CheckService">
<div id="strComputer"></div>
</body>
</html>
我错过了什么?真的很简单吗?我尝试过该函数的替代名称,将其移动到 VBScript 所在的位置。没有任何作用:sRem
最佳答案
当 HTA 文档模式为 9 或更高并且从不带括号的 HTML 代码调用子例程时,会出现“[子例程名称]未定义”错误。
在本例中,代码 onClick="CheckService"
应该是:onClick="CheckService()"
请注意,此 HTA 的文档模式不明确,因为它声明为:
<meta http-equiv="x-ua-compatible" content="IE=edge">
这会导致 HTA 中的 HTML 代码使用 MSHTML.dll 提供的最高文档模式呈现。 与边缘浏览器无关。
在具有 MSHTML 8 或更低版本的计算机上测试此 HTA 的人不会看到错误。在任何具有 MSHTML 9 或更高版本的计算机上,都会发生该错误。请注意,MSHTML 9 对应于 2011 年发布的 Internet Explorer 9。因此,到 2013 年,当发布此问题时,大多数计算机都会收到发布的脚本错误。
非官方接受的答案通过删除 meta 行消除了错误,导致 HTA 在 IE 7 模式下运行,在调用子例程时不需要括号HTML 代码。在这种情况下,降级 HTA 文档模式可能不会产生任何负面影响,但可能会导致 HTML/CSS 代码产生与预期不同的结果。
有关 HTA 文档模式的更多背景信息:
HTA 应针对特定文档模式,以确保 HTML/CSS 代码始终按预期工作。 ie=edge 选项只能由包含不同 MSHTML 版本的多个 HTML 代码部分的专家编码人员使用。现在它已经过时了,因为任何生产中的机器都应该有 MSHTML 11,它于 2013 年发布,并且永远不会有任何进一步的升级。 (注意:Windows 11 包含 MSHTML 11,因此 HTA 仍然有效。)通常,HTA 应针对 IE=9、IE=10 或 IE=11。选择这三种文档模式中的一种有一些具体原因,但那是完全不同的讨论。
HTA 通常应以如下代码开头:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" http-equiv="X-UA-Compatible" content="IE=9">
<hta:application id=oHTA>
</head>
如果您的 HTA 没有 DOCTYPE 或 X-UA-Compatible 声明,则默认情况下它将在 IE 5 模式下运行。如果只有DOCTYPE声明,则默认以IE 7模式运行。但是,如果 mshta.exe 有 FEATURE_BROWSER_EMULATION 注册表设置,则默认模式将是该注册表值中设置的任何值。
如果您的 HTA 有 X-UA-Compatible 声明,则无论任何注册表设置如何,它都会在该模式下运行(假设计算机没有旧版本的 MSHTML),因此确保包含如上所示的 meta 行(注意:UTF-8 部分是可选的,但有助于使用特殊字符)。
关于html - 子功能在 HTA 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16300218/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!