17370845950

使用 JavaScript 在用户搜索后关闭打开的窗口

本文介绍了如何实现在网页游戏中,允许用户在指定时间内使用 Google 搜索,并在时间结束后自动关闭搜索窗口的功能。由于 JavaScript 的安全限制,直接关闭其他域的窗口是不允许的,因此本文提供了一种替代方案:使用 `

在 Web 游戏开发中,有时需要为用户提供临时的外部资源访问权限,例如允许用户在游戏内搜索信息。然而,直接通过 JavaScript 关闭由 window.open() 打开的窗口,尤其是在用户已经进行搜索操作后,会受到浏览器安全策略的限制。这是因为 JavaScript 代码只能控制其自身标签页,无法跨域控制其他标签页。一种更安全、更可控的解决方案是使用

使用

实现步骤

  1. 创建容器元素: 首先,在 HTML 中创建一个用于放置

      
      
  2. 添加事件监听器: 为按钮添加一个点击事件监听器,当用户点击按钮时,创建

    const container = document.getElementById('container');
    const btn = document.getElementById('btn');
    
    btn.addEventListener('click', () => {
      const iframe = document.createElement('iframe');
      iframe.src = 'https://google.com/';
      container.appendChild(iframe);
      setTimeout(() => {
        iframe.remove();
      }, 20000);
    });
  3. 设置

  4. 设置定时器: 使用 setTimeout() 函数设置一个定时器,在指定时间后移除

完整代码示例




  Iframe Example



  
    
    

注意事项

  • 安全性: 嵌入外部内容时,需要注意安全性问题。确保嵌入的网页是可信的,避免嵌入恶意网站。
  • 用户体验:
  • 跨域限制:

总结

使用