You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Counter Strike 1.6 MOTD文件中GIF窗口无法自动关闭的求助

CS 1.6 MOTD 弹窗自动关闭失效问题求助

我在编写Counter Strike 1.6的MOTD(每日消息)文件时碰到个问题:

  • 需求是点击链接后在新窗口打开GIF,目前弹窗能正常打开、GIF可以播放,手动关闭也没问题,但超时自动关闭的功能在CS环境下完全失效
  • 同样的脚本在普通浏览器里能正常触发自动关闭,只有在CS的内置浏览器里不行

原代码如下:

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script>
        function closeWindow(gifWindow){
            if (gifWindow) {
                gifWindow.close();
            }
        }
        function openGifWindow() {
            var gifWindow = window.open("video.gif", "GifWindow", "width=400,height=400");
            setTimeout(function() { closeWindow(gifWindow); }, 1000);
        }
    </script>
</head>
<body>
    <a href="#" onclick="openGifWindow(); return false;">Открыть гифку</a>
</body>
</html>

解决思路及修改方案

CS 1.6的内置浏览器基于老旧的IE内核,对跨页面的窗口对象操作有严格的权限限制——父页面的setTimeout回调里根本拿不到子窗口的控制权,自然没法触发关闭。

换个思路,把自动关闭的逻辑放到弹窗自身的页面里,让弹窗自己控制关闭:

  1. 新建一个单独的GIF展示页面(命名为gif_page.html):
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <script>
        // 弹窗自身启动定时器,到点自动关闭
        setTimeout(() => window.close(), 1000);
    </script>
</head>
<body style="margin: 0; padding: 0;">
    <img src="video.gif" style="width: 100%; height: 100%;" />
</body>
</html>
  1. 修改原MOTD页面的代码,让它打开这个新页面而不是直接打开GIF:
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script>
        function openGifWindow() {
            window.open("gif_page.html", "GifWindow", "width=400,height=400");
        }
    </script>
</head>
<body>
    <a href="#" onclick="openGifWindow(); return false;">Открыть гифку</a>
</body>
</html>

这样修改后,弹窗的关闭逻辑由自身触发,避开了CS内置浏览器的跨页面权限限制,应该就能正常实现自动关闭了。

内容的提问来源于stack exchange,提问作者ergeeeco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 19:32:23