HTA:"Safety Settings on this computer prohibit accessing a data source on another domain"
HTA : "Safety Settings on this computer prohibit accessing a data source on another domain"
我正在处理与其他两个线程相同的错误消息(作为主题):
Suppress ADO Security Warning in JavaScript/HTM Page 和
How to create intranet website accessing database dynamically without server or server side scripts?
但我的应用程序 运行s 仅在本地计算机上运行,它与任何网络或远程数据库无关。
这个问题只发生在我的一些用户的电脑上。我已将程序简化为 1.js 和 1.hta,如下所示。 运行 1.js 通过命令行 "cscript.exe 1.js" 在用户计算机上工作正常 (Windows 7)。但是在同一台计算机上的 运行 1.hta 得到了错误 "Safety Settings on this computer prohibit accessing a data source on another domain"。 1.js和1.hta几乎一样!
产生问题的行是调用:ado.LoadFromFile("1.hta");
我必须使用 ADO 而不是 fso (Scripting.FileSystemObject),因为 fso 无法访问 utf-8。
==== 1.js ===========
// run me through a DOS box command line : cscript.exe 1.js
var ado;
ado = new ActiveXObject("ADODB.Stream");
var data;
ado.CharSet = "utf-8";
ado.Open();
ado.LoadFromFile("1.js");
data = ado.ReadText();
ado.Close();
WScript.echo(data);
==== 1.hta ==========
<HTML>
<HEAD>
<meta http-equiv="x-ua-compatible" content="ie=9">
<HTA:APPLICATION ID="Debug"
caption="yes"
maximizebutton="no"
minimizebutton="no"
sysmenu="yes"
BORDERSTYLE="complex"
BORDER="thick"
/>
<TITLE>HTA - Debug</TITLE>
<script language="JScript">
var ado;
ado = new ActiveXObject("ADODB.Stream");
var data;
ado.CharSet = "utf-8";
ado.Open();
ado.LoadFromFile("1.hta");
data = ado.ReadText();
ado.Close();
</script>
</HEAD>
<BODY>
<H2>HTA - Debug, try to read my own source code "1.hta"</H2>
<div id=sourcecode></div>
<script language="JScript"> sourcecode.innerText=data;</script>
</BODY>
</HTML>
1.hta 在我能找到的所有 Windows7、windows8、windows10 台计算机上都可以正常工作。为了确保可以帮助我的人能够 100% 重现问题,我发现 1.hta 在 Windows XP 上总是失败。这是我重现问题的唯一方法。我们已尝试更改 IE 的安全设置,它对修复生病的计算机或将任何健康的计算机推入生病状态都不起作用。我相信 HTA 没有参考 IE 的设置。
为什么在某些计算机上会发生这种情况?给我任何提示将不胜感激。
这对我来说效果很好!谢谢!
修改IE中的internet选项:
转到 Internet 选项 -- 安全选项卡 -- Select Internet 和本地 Intranet -- 单击自定义级别(按钮)-- 杂项 -- select 启用跨域访问数据源。
之后我重新打开了 QLIKVIEW 模型。
对我来说很有效..
祝你好运
我正在处理与其他两个线程相同的错误消息(作为主题): Suppress ADO Security Warning in JavaScript/HTM Page 和 How to create intranet website accessing database dynamically without server or server side scripts? 但我的应用程序 运行s 仅在本地计算机上运行,它与任何网络或远程数据库无关。
这个问题只发生在我的一些用户的电脑上。我已将程序简化为 1.js 和 1.hta,如下所示。 运行 1.js 通过命令行 "cscript.exe 1.js" 在用户计算机上工作正常 (Windows 7)。但是在同一台计算机上的 运行 1.hta 得到了错误 "Safety Settings on this computer prohibit accessing a data source on another domain"。 1.js和1.hta几乎一样!
产生问题的行是调用:ado.LoadFromFile("1.hta"); 我必须使用 ADO 而不是 fso (Scripting.FileSystemObject),因为 fso 无法访问 utf-8。
==== 1.js ===========
// run me through a DOS box command line : cscript.exe 1.js
var ado;
ado = new ActiveXObject("ADODB.Stream");
var data;
ado.CharSet = "utf-8";
ado.Open();
ado.LoadFromFile("1.js");
data = ado.ReadText();
ado.Close();
WScript.echo(data);
==== 1.hta ==========
<HTML>
<HEAD>
<meta http-equiv="x-ua-compatible" content="ie=9">
<HTA:APPLICATION ID="Debug"
caption="yes"
maximizebutton="no"
minimizebutton="no"
sysmenu="yes"
BORDERSTYLE="complex"
BORDER="thick"
/>
<TITLE>HTA - Debug</TITLE>
<script language="JScript">
var ado;
ado = new ActiveXObject("ADODB.Stream");
var data;
ado.CharSet = "utf-8";
ado.Open();
ado.LoadFromFile("1.hta");
data = ado.ReadText();
ado.Close();
</script>
</HEAD>
<BODY>
<H2>HTA - Debug, try to read my own source code "1.hta"</H2>
<div id=sourcecode></div>
<script language="JScript"> sourcecode.innerText=data;</script>
</BODY>
</HTML>
1.hta 在我能找到的所有 Windows7、windows8、windows10 台计算机上都可以正常工作。为了确保可以帮助我的人能够 100% 重现问题,我发现 1.hta 在 Windows XP 上总是失败。这是我重现问题的唯一方法。我们已尝试更改 IE 的安全设置,它对修复生病的计算机或将任何健康的计算机推入生病状态都不起作用。我相信 HTA 没有参考 IE 的设置。
为什么在某些计算机上会发生这种情况?给我任何提示将不胜感激。
这对我来说效果很好!谢谢!
修改IE中的internet选项:
转到 Internet 选项 -- 安全选项卡 -- Select Internet 和本地 Intranet -- 单击自定义级别(按钮)-- 杂项 -- select 启用跨域访问数据源。
之后我重新打开了 QLIKVIEW 模型。
对我来说很有效..
祝你好运