簡體   English   中英

用PHP和Apache鏈接rel =“ preload”

[英]link rel=“preload” with PHP and Apache

因為它是描述在這里 ,它可能是一個好主意,預加載腳本和CSS使網頁加載速度更快。

我的網頁是基於PHP的,所以我這樣做了:

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="preload" href="/styles.css" as="style" />
    <link rel="preload" href="/script.js" as="script" />
<?php
   flush();  // Please, output the code above!
   sleep(2); // Simulate some processing
?>
<link rel="stylesheet" type="text/css" href="/styles.css" />
</head>
<body>Test
<script src="/scripts.js"></script>
</body>
</html>

發生的情況是,Web服務器將保留內容,直到處理整個腳本為止,這意味着僅在等待2秒鍾后才發送html代碼,這使得預加載語句無用。

我試圖添加flush(); 在睡眠之前,但沒有任何效果。

知道如何對PHP生成的頁面使用預加載嗎? 我正在使用PHP 7.x和Apache 2.4。

您誤解了“預加載”的概念

在這里閱讀: https : //developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content

使用PHP生成網頁時,只有在生成整個頁面后您才能看到任何內容。

如果使用flush()強制將緩沖區寫入“輸出”,則可能需要先閱讀手冊。

https://www.php.net/manual/zh/function.flush.php

無論如何,最好使用“預加載”的地方是另一頁上可能需要的資源,可能是當前加載的資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM