首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

有没有办法在使用JavaScript重定向到空白窗口等待加载之前加载同一域下的整个URL?

在使用JavaScript重定向到空白窗口之前加载同一域下的整个URL,可以通过以下方法实现:

  1. 使用XMLHttpRequest对象进行预加载:可以通过创建一个XMLHttpRequest对象,发送一个GET请求来获取URL的内容,并在加载完成后将其存储在一个变量中。然后,使用window.open()方法打开一个空白窗口,并将存储的内容写入该窗口的document对象。

示例代码如下:

代码语言:txt
复制
var xhr = new XMLHttpRequest();
xhr.open('GET', 'URL', true);
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    var content = xhr.responseText;
    var newWindow = window.open('', '_blank');
    newWindow.document.write(content);
    newWindow.document.close();
  }
};
xhr.send();
  1. 使用fetch API进行预加载:可以使用fetch API发送一个GET请求来获取URL的内容,并在加载完成后将其存储在一个变量中。然后,使用window.open()方法打开一个空白窗口,并将存储的内容写入该窗口的document对象。

示例代码如下:

代码语言:txt
复制
fetch('URL')
  .then(function(response) {
    return response.text();
  })
  .then(function(content) {
    var newWindow = window.open('', '_blank');
    newWindow.document.write(content);
    newWindow.document.close();
  });

这两种方法都可以在重定向到空白窗口之前预加载同一域下的整个URL,并在加载完成后将其显示在新打开的窗口中。这在需要提前加载内容或者在新窗口中显示完整页面时非常有用。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云官网:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 物联网开发平台(IoT Explorer):https://cloud.tencent.com/product/iothub
  • 移动推送服务(信鸽):https://cloud.tencent.com/product/tpns
  • 对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯区块链服务(TBaaS):https://cloud.tencent.com/product/tbaas
  • 腾讯云元宇宙:https://cloud.tencent.com/solution/virtual-universe
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

页面彈出各种窗口詳解

一、 基本变化 <SCRIPT LANGUAGE="javascript"> </SCRIPT> 参数解释: window.open 弹出新窗口的命令; 'page.html' 弹出窗口的文件名; 'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替; 100 窗口高度; width=400 窗口宽度; top=0 窗口距离屏幕上方的象素值; left=0 窗口距离屏幕左侧的象素值; toolbar=no 是否显示工具栏,yes为显示; menubar,scrollbars 表示菜单栏和滚动栏。 resizable=no 是否允许改变窗口大小,yes为允许; location=no 是否显示地址栏,yes为允许; status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许; 二、 弹启一个全屏窗口 加入fullscreen <SCRIPT LANGUAGE="javascript"> </SCRIPT> 三、 打开一个和按F11所见到的一样的窗口 加入channelmode <SCRIPT LANGUAGE="javascript"> </SCRIPT> 四、 打开一个连标题栏都没有的窗口(无标题、最小、最大、以及关闭按钮) <HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=gb2312"> <script language="javascript"> function unload() { var popUpSizeX=200; //窗口的宽度 var popUpSizeY=166; //窗口的高度 var popUpLocationX=2;//距离左边的距离 相当于 left var popUpLocationY=2;//距离顶端的距离 相当于 top // URL of the popUp var popUpURL="http://www.33d9.com/default.asp";; //打开页面的路径 // ** 下面的就不要随便改了 *** splashWin = window.open("",'x','fullscreen=1, ,scrollbars=auto,resizable=1'); splashWin.blur(); // Hide while updating window.focus(); splashWin.resizeTo(popUpSizeX,popUpSizeY); splashWin.moveTo(popUpLocationX,popUpLocationY); splashWin.location=popUpURL; } // END unload(); </script> </HEAD> <BODY></BODY></HTML> 看看,什么效果? 如果把resizable 设为0 scrollbars = no 呢? 五、 没有最大化按纽的窗口 其实也就是象软件的“关于我们”的那个窗口一样,下面就是用对话框窗口来实现它。 showModalDialog()以及showModelessDialog() 1.用showModalDialog() <html> <SCRIPT LANGUAGE="javascript"> </SCRIPT> http://w

02
领券