通过在Windows XP x64上使用JScript执行.hta文件来“拒绝访问”

时间:2009-01-21 10:10:31

标签: javascript html windows scripting 64-bit

我有一个简单的HTML(作为HTA)应用程序,它在Windows XP x64机器上显示奇怪的行为。我定期(不是每次都)收到错误消息“访问被拒绝”。当我启动应用程序时。 Windows XP 32bit上的相同应用程序运行得很好......

有人有任何想法或解释吗?

错误讯息:

Line: 18
Char: 6
Error: Access is denied.
Code: 0
URL: file:///D:/test_j.hta

这是我的“test_j.hta”的代码:

<html>

<head>
<title>Test J</title>

<HTA:APPLICATION 
     ID="objTestJ" 
     APPLICATIONNAME="TestJ"
     SCROLL="no"
     SINGLEINSTANCE="yes"
     WINDOWSTATE="normal"
>

<script language="JScript">

function main()
{
     //window.alert("test");
     window.resizeTo(500, 300);        
}

function OnExit()
{
    window.close();
}

</script>

</head>

<body onload="main()">
     <input type="button" value="Exit" name="Exit" onClick="OnExit()" title="Exit">
</body>
</html>

3 个答案:

答案 0 :(得分:2)

尝试在启动代码周围添加try catch

try
{ 
    window.resizeTo(500, 300); 
} catch(e) { }

或者尝试setTimeout: -

setTimeout(function() {
    window.resizeTo(500, 300);
}, 100);

答案 1 :(得分:1)

对于通过此处的任何人来说,我都遇到了类似的问题(我的文件已经加载了),这是因为浏览器还没准备好执行调整大小/移动操作,无论是由于没有完成加载或(就像在我的情况下)仍在处理之前的调整大小请求。

答案 2 :(得分:1)

同时延迟和try-catch:

setTimeout(function() {
    try { 
        window.resizeTo(500, 300); 
    } 
    catch(e) { }
}, 100);