JS网页定时自动关闭-无浏览器提示-ScreenSaver.prototype.timeout(2)

此脚本实现了一个功能,当用户在页面上停留超过5秒未进行任何操作时,将自动跳转到指定页面。

<html>    
<head>    
<script type="text/javascript">
var timerID;
var nTimeout;  
var saver;
/**
 * 初始化
 **/
function onload(){       
 document.body.onmousemove = ScreenSaver.prototype.onevent;    
 document.body.onmousedown = ScreenSaver.prototype.onevent;    
 document.body.onkeydown = ScreenSaver.prototype.onevent;    
 document.body.onkeypress = ScreenSaver.prototype.onevent;
 //创建关闭事件
  //saver = new ScreenSaver();
}
/**
 * 鼠标单击事件
 **/          
//document.onmousedown= function(){
 
//}
ScreenSaver.prototype.onevent = function(e){
 //鼠标单击事情-根据序列ID清空事件
  window.clearTimeout(timerID);
  //重新创建关闭事件 
  saver = new ScreenSaver();
}
/**
 * 调用关闭事件方法体
 **/ 
function ScreenSaver(){
 //初始化参数:5000毫秒=5秒      
    nTimeout = 5000;
    //返回序列ID
    timerID = window.setTimeout(f, nTimeout);  
}
/**
 * 获取过时对象
 **/
var f = function(){ 
     //获取当前超时对象
     ScreenSaver.prototype.timeout();
}
/**
 * 初始化超时对象
 **/    
ScreenSaver.prototype.timeout = function(){
/*  window.opener = "whocares";
 var browserName=navigator.appName;
 if (browserName=="Netscape")
 {
  window.open('','_parent','');
  window.close();
 }
 else if (browserName=="Microsoft Internet Explorer")
 {
  window.opener = "whocares";
  window.close();
 }  */
 window.close();   
}    
</script>    
    </head>    
    <body onload="onload();">    
  </p>5秒不动就跳转    
    </body>    
</html>
你遇到的错误: ``` It looks like the script you are trying to run requires AutoHotkey v1, which is not installed. If the version has been misidentified, please add a #Requires directive to your script file. Script: screensaver.ahk Rule: v1-hk v1-cmd ``` --- ## ✅ 错误原因 你**安装的是 AutoHotkey v2(新版)**,但你的脚本是为 **AutoHotkey v1(经典版)** 编写的。 > AutoHotkey v2 与 v1 **语法不兼容**,所以双击 `.ahk` 文件时,系统默认用 v2 打开,导致无法识别语法并报错。 --- ## ✅ 解决方案:降级使用 AutoHotkey v1 你需要安装 **AutoHotkey v1.1**(推荐稳定版本),而不是 v2--- ### ✅ 步骤 1:下载 AutoHotkey v1.1 前往官方历史版本页面: 👉 https://www.autohotkey.com/download/ahk-install.exe 这个链接会下载 **AutoHotkey v1.1.33+ 的最新稳定版安装包** 📌 注意:不要去 GitHub 下载 `AutoHotkey v2`! --- ### ✅ 步骤 2:卸载或避免与 v2 冲突 如果你之前安装了 AutoHotkey v2: #### 方法一:完全卸载 v2,改用 v1 1. 进入 “控制面板 → 程序和功能” 2. 卸载名为 `AutoHotkey` 或 `AutoHotkey v2` 的程序 3. 安装上面下载的 `ahk-install.exe`(即 v1) #### 方法二:共存(高级用户) 可以保留两个版本,通过右键 `.ahk` 文件 → “Compile with” 或 “Run with” 选择 v1 解释器。 --- ### ✅ 步骤 3:验证是否安装成功 安装完成后,再次双击你的 `screensaver.ahk` 文件。 你应该看到: - 右下角系统托盘出现一个 **绿色的 H 图标** - 没有弹出错误提示 ✅ 成功运行! --- ### ✅ 步骤 4:测试快捷键 `Ctrl+Alt+S` 现在按下: ``` Ctrl + Alt + S ``` 应该会触发启动 Edge 浏览器并全屏打开 `http://192.168.110.204:8080/` --- ### ✅ 补充:如何确认当前运行的是 AHK v1? 在脚本开头加入这行代码: ```ahk MsgBox, % "正在运行 AutoHotkey 版本:" A_AhkVersion ``` 完整测试脚本如下: ```ahk MsgBox, % "正在运行 AutoHotkey 版本:" A_AhkVersion ^!s:: MsgBox, 快捷键已捕获!即将启动 Edge。 Run, "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --kiosk "http://192.110.204:8080/" return ``` 如果弹出消息显示类似: ``` 正在运行 AutoHotkey 版本:1.1.37.01 ``` 说明你成功运行了 v1 ✅ --- ## 🛠️ 额外建议:编译脚本为 EXE(避免依赖解释器) 为了让脚本能在其他电脑上运行(无需安装 AHK),你可以将其编译成 `.exe`。 ### 使用自带编译器:Ahk2Exe 路径一般在: ``` C:\Program Files\AutoHotkey\Compiler\Ahk2Exe.exe ``` 操作步骤: 1. 打开 `Ahk2Exe.exe` 2. 输入脚本路径:`screensaver.ahk` 3. 输出路径:`screensaver.exe` 4. 点击 “Convert” 生成的 `screensaver.exe` 可以独立运行,无需安装 AutoHotkey! --- ## ❌ 常见误区提醒 | 错误做法 | 正确做法 | |--------|---------| | 安装 `AutoHotkey v2` 来运行 v1 脚本 | 必须用 v1 运行 v1 脚本 | | 直接从 GitHub 下载 zip 包运行 | 推荐使用官方安装包 `ahk-install.exe` | | 脚本路径含中文或空格 | 尽量使用纯英文路径,如 `D:\ahk\screensaver.ahk` | --- ## ✅ 总结 你遇到的问题是因为: > ❌ 使用了 **AutoHotkey v2** 来运行原本为 **v1** 设计的脚本 解决方案是: > ✅ 卸载 v2 或重新安装 **AutoHotkey v1.1**(下载地址:https://www.autohotkey.com/download/ahk-install.exe) 然后双击脚本即可正常运行,`Ctrl+Alt+S` 也能正确触发。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值