HTML5预加载功能

近年来随着HTML5等新一代技术的浪潮来临,对整个web行业带来了冲击性的改革,其中有个值得讨论的技术,预加载,这个技术是预先读取了用户接下来即将会访问页面,让用户接下来访问的时候大大了加快了页面读取速度,这个有点类似于图片预读取。


HTML5对link的rel属性添加很多的值,其中最让人激动的就是预加载功能了。它和网上提到图片预加载有时不同,它的加载时机是由浏览器决定的,只有在空闲时间才偷偷加载指定资源,防止一下子加载这么多东西把页面卡死,但是怎么使用它是一个难点,因为你必须要了解你的用户他们在接下来的页面中最有可能访问的是哪些页面,这样你才能在当前页面先设置好。


好吧我们先来看下HTML5预读取的实现代码
  1. <link rel="prefetch" href="http://test.520uedCDN.com"> <!-- firefox -->
  2. <link rel="prerender" href="http://test.520uedCDN.com"> <!-- chrome -->
复制代码

目前支持的浏览器:Firefox 3.5+,chrome 13+

此功能要慎用,现在大型网站一般都是用来预缓存CDN上面的资源文件,像淘宝首页就用了预加载,但并不是在每个页面都使用,因为这个功能极大的消耗了用户的带宽,所以使用的时候需要对自己页面进行详细的分析,例如:你的网站有80%的流量是从首页到搜索页面的,那其实你就可以在首页预先加载搜索页面的资源文件。我发现有不少人反应这个功能使用不当反而适得其反的例子,所以一般小型的站点,或者流量相对分散的页面其实没必要去使用这个功能。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Electron 中可以使用加载脚本来在渲染进程运行之前执行一些操作,例如加载某些模块或设置全局变量。加载脚本的代码可以在主进程中执行,也可以在单独的 JS 文件中编写,然后在 `BrowserWindow` 中指定。 以下是一个使用加载脚本的例子: 在主进程中: ```javascript const { app, BrowserWindow } = require('electron') const path = require('path') function createWindow () { const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { preload: path.join(__dirname, 'preload.js') // 指定加载脚本 } }) // 加载应用程序主页面 win.loadFile('index.html') } app.whenReady().then(() => { createWindow() app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) { createWindow() } }) }) app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit() } }) ``` 在 `BrowserWindow` 的 `webPreferences` 中指定了加载脚本的路径,它会在渲染进程运行之前加载并执行。在本例中,加载脚本为 `preload.js`。 在 `preload.js` 文件中,可以编写一些代码来执行一些操作。例如,可以在其中加载 Node.js 模块或设置全局变量。以下是一个简单的例子: ```javascript const { remote } = require('electron') window.addEventListener('DOMContentLoaded', () => { const currentWindow = remote.getCurrentWindow() currentWindow.setTitle('My App') // 设置窗口标题 }) ``` 在本例中,我们使用 `remote` 模块获取当前窗口,并设置窗口标题为 "My App"。 需要注意的是,加载脚本中的代码可以访问 Node.js 的 API,但不能访问渲染进程的 DOM。如果需要与渲染进程进行通信,可以使用 Electron 的 IPC 功能

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值