能否在显示HTML页面之前预加载它?

8
我不是指预加载图片,我想用 JQuery 预加载一个 HTML 页面。

是的,但是如果您能说明为什么要这样做以及想要实现什么效果,否则您得到的答案可能不会像您期望的那样有帮助。 - Gareth Simpson
6个回答

9
将内容使用Ajax获取后,可随意使用:
var myPrefetchedPage;
$.ajax({
  url: "test.html",
  cache: false,
  success: function(html){
    myPrefetchedPage = html;
  }
})

现在,myPrefetchedPage是完整的内容 - 可以注入到当前页面中(如果需要,完全替换页面)。

如果您只是想尽可能利用缓存,隐藏的iFrame可能更好。然后,您可以使用jQuery循环iframe src来获取多个页面。


谢谢!我想这就是我需要的,我只需要缓存与页面相关的 JavaScript,而不是 HTML 页面本身。 - HyderA

4
您可以把所有内容放在一个不可见的div中,一旦文档准备就绪,再将div变为可见状态。虽然这并不是真正的“预加载”,但它确实只有在所有内容加载完毕后才显示内容。

2
是的,可以做到!您可以使用iframe来展示您的内容,分别获取内容并填充框架。

0
你可以使用:
浏览器将会下载资产并在后台渲染整个页面。当用户点击“yourpage”链接时,页面几乎会立即显示。

0

在 body 上设置一个类来隐藏它,然后在 onload 事件中使用 Javascript 将其移除。

(但为什么要这样做是另一个问题。)


0

是的,您可以通过jQuery.get加载页面,然后在显示之前以字符串形式进行所需操作。如果您将其插入隐藏容器中,则可以首先使用DOM对其进行操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接