Javascript错误“;调用的对象已与其客户端断开连接;创建ActiveXObject时
因此,我的一位同事在尝试创建Excel ActiveXObject时遇到了一个奇怪的错误;因此,我编写了一些测试代码,并将其放在网络驱动器上托管的.hta中:Javascript错误“;调用的对象已与其客户端断开连接;创建ActiveXObject时,javascript,html,internet-explorer-8,Javascript,Html,Internet Explorer 8,因此,我的一位同事在尝试创建Excel ActiveXObject时遇到了一个奇怪的错误;因此,我编写了一些测试代码,并将其放在网络驱动器上托管的.hta中: <html> <head> <title> JUST FOR AVERY </title> </head> <body> <script type="text/javascript"> var objExcel = new ActiveXObject("E
<html>
<head>
<title>
JUST FOR AVERY
</title>
</head>
<body>
<script type="text/javascript">
var objExcel = new ActiveXObject("Excel.Application")
var myBook = objExcel.Workbooks.Add;
</script>
</body>
</html>
它给出的行号对应于创建ActiveXObject本身
我们尝试将所有Internet Explorer安全区域设置为较低,这样我们就知道我们已经覆盖了所有内容;然后我们关闭了所有IE/mshta窗口,再次打开测试代码,得到了完全相同的错误消息
我在这里不知所措。帮忙
编辑
只是为了补充一些要点,以防万一:
操作系统:Windows 7IE:InternetExplorer8在javaScript中找到Excel之后,我认为ActiveXObject模型并不像人们期望的javaScript那样可靠/稳定 因此,我认为这可能是您使用
Add
功能的方式:
var myBook = objExcel.Workbooks.Add;
在javaScript中,这意味着myBook是“函数Add
”。要获得“添加<代码>的结果”,必须使用括号:
var myBook = objExcel.Workbooks.Add();
我知道VBScript会在有碎屑和无碎屑的情况下执行函数,但在javaScript中,函数是一流的对象。我可以想象这会破坏IE和ActiveXes
“第一类对象”是指每个函数也是一个对象:
// Save a function object to a variable
var myFunction = function () { };
// and later
// Use the function variable
var result = myFunction();
另一点可能是ActiveXObject构造函数的“local”参数,如msdn上所述:
我尝试了你的建议,并做了如下工作:
`只是为了AVERY
var myBook=objExcel.Workbooks.Add()代码>
,我们仍然会收到完全相同的错误消息。编辑:抱歉格式错误。@J.D.Lowe抱歉,这是一个非常奇怪的错误,在谷歌上搜索时也是如此。最后一次尝试:使用读取(和执行)凭据将网络共享映射到卷标识符,如Z:
,然后使用file:///Z:/your.hta
// Save a function object to a variable
var myFunction = function () { };
// and later
// Use the function variable
var result = myFunction();
var objExcel = new ActiveXObject("Excel.Application", 'localhost');
var objExcel = new ActiveXObject("Excel.Application", '.');
var objExcel = new ActiveXObject("Excel.Application", '\\\\.\\');