![](/img/trans.png)
[英]PHP Regex: How to replace rel=stylesheet to 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.