Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';在HTML中设置新预渲染或预回迁的正确方法是什么? HTML文档 document.addEventListener('click',函数(){ //预渲染https://www.apple.com/ipad 在铬上。 // ... //预取https://www.apple.com/ipad 在Firefox上。 // ... },假);_Html_Google Chrome_Firefox_Prefetch_Prerender - Fatal编程技术网

什么';在HTML中设置新预渲染或预回迁的正确方法是什么? HTML文档 document.addEventListener('click',函数(){ //预渲染https://www.apple.com/ipad 在铬上。 // ... //预取https://www.apple.com/ipad 在Firefox上。 // ... },假);

什么';在HTML中设置新预渲染或预回迁的正确方法是什么? HTML文档 document.addEventListener('click',函数(){ //预渲染https://www.apple.com/ipad 在铬上。 // ... //预取https://www.apple.com/ipad 在Firefox上。 // ... },假);,html,google-chrome,firefox,prefetch,prerender,Html,Google Chrome,Firefox,Prefetch,Prerender,打开页面时,会在不同的浏览器上预呈现和预取。单击文档时,我希望预呈现和预取另一页 看来我们有两种方法可供选择。我们可以替换当前2个链接元素中的URL。或者我们可以将两个新的link元素插入head元素 在HTML中设置新预渲染的正确方法是什么 在HTML中设置新预取的正确方法是什么 我试图在Chrome上替换prerenderlink元素的URL从到。我打开了Chrome的任务管理器,发现它没有预先修改。唯一的预呈现页面仍然是。因此,这种方法似乎不起作用?1)您不需要同时使用预回迁和预渲染链接,

打开页面时,会在不同的浏览器上预呈现和预取。单击文档时,我希望预呈现和预取另一页

看来我们有两种方法可供选择。我们可以替换当前2个
链接
元素中的URL。或者我们可以将两个新的
link
元素插入
head
元素

在HTML中设置新预渲染的正确方法是什么

在HTML中设置新预取的正确方法是什么

我试图在Chrome上替换prerender
link
元素的URL从到。我打开了Chrome的任务管理器,发现它没有预先修改。唯一的预呈现页面仍然是。因此,这种方法似乎不起作用?

1)您不需要同时使用预回迁和预渲染链接,只需要预渲染。预渲染链接将加载预回迁所做的一切,等等

2) 要回答您的问题,请使用方法2并插入另一个带有javascript的prerender链接。有些东西与此相关:

<!DOCTYPE html>
<meta charset="utf-8">
<title>An HTML Document</title>
<link rel="prefetch" href="https://www.apple.com/">
<link rel="prerender" href="https://www.apple.com/">
<script>
    document.addEventListener('click', function () {
        // Prerendering https://www.apple.com/ipad on Chrome.
        // ...

        // Prefetching https://www.apple.com/ipad on Firefox.
        // ...
    }, false);
</script>

var myHead=document.getElementsByTagName('head')[0];
var myLink=document.createElement('link');
setAttribute('rel','prerender');
myLink.setAttribute('href','http://apple.com/ipad');
myHead.appendChild(myLink);
或者,如果您使用jQuery:

<script>
var myHead = document.getElementsByTagName('head')[0];
var myLink = document.createElement('link');
myLink.setAttribute('rel', 'prerender');
myLink.setAttribute('href', 'http://apple.com/ipad');
myHead.appendChild(myLink);
</script>
$(“head”)。追加(“”);
实际上是

似乎是


这是不正确的。您确实需要预取和预渲染(或者至少需要一个将两者都输出的polyfill)作为和。

首先,您让我有点困惑于
预取和
预渲染
用法之间的混合。它们的用法应该是这样的:

$("head").append('<link rel="prerender" href="http://apple.com/ipad">');
预取
用法:

它应该用于获取和缓存资源,以便以后用户按照进行导航(即预取css文件,以便在用户即将进行的导航中很可能使用的页面中使用)。在Chrome、Firefox和IE中受支持

预渲染
用法:

它应该用于预呈现一个完整的页面,用户很可能会在即将到来的导航中导航到该页面(例如,就像预呈现下一篇文章一样,用户很可能会单击“下一篇文章”按钮)。仅在Chrome和IE中支持


回到您的问题,您可以添加您真正需要的浏览器提示(例如,像您使用的两个
链接
),只是不要滥用它们,因为它们占用大量资源

因此,您可以在生成页面时注入提示(就像您所做的那样),也可以在运行时使用如下javascript注入提示:

$("head").append('<link rel="prerender" href="http://apple.com/ipad">');

要更好地了解如何使用所有
“pre-”
goodies,请参阅这篇精彩的文章。

IE11现在支持这两者。最好的方法是将两者结合起来,例如,
?插入动态生成的prerender标记不会导致Firefox为我提取任何内容。我没有测试其他浏览器,而是选择使用ajax获取它。prerender不受广泛支持()