Heim Web-Frontend HTML-Tutorial tips 前端 阻止 浏览器缓存静态资源

tips 前端 阻止 浏览器缓存静态资源

Jun 24, 2016 am 11:45 AM
前端 浏览器缓存

手机浏览器 uc上一直表现良好 qq浏览器还有微信上网址直接打开的(一样采用qq浏览器的内核) 大量缓存了静态资源

css js 图片 等这些当出现改动了刷新网页根本没有效果

电脑端浏览器没有问题 因为部分手机端浏览器 总会出于省流量性能等因素缓存静态资源本来没有什么问题 不过这会给开发带来困扰 不适合调试 如果只是这样还好 可是还是会对生产环境造成一定影响比如当服务器端的css文件内内容有了改动 手机端浏览器却一直没有释放缓存 就会造成一些页面上出现明显的问题所以给css js jpg swf 等加上时间戳是必要的,最好是每当文件做了修改就变动时间戳让浏览器去下载,而没有改动就调用浏览器缓存的文件

所以可以这样

<?php $css=&#39;/xxx/xxx.css&#39; ?>
<link rel="stylesheet" type="text/css" href="<?php echo "$css" . &#39;?time=&#39; . filemtime( $css ); ?>" />
Nach dem Login kopieren

笔记:

php 原则上'' ""是通用的,echo函数输出时 ' '内的内容会被解析为纯字符串, " "内的变量会被解析会变量的值,但是不能解析函数的值 .是php的连接符

filemtime("file")将得到file最近一次修改时间,得到类似1430451431这个格式的unix时间戳

原理是通过增加一个后缀改变了请求的文件的url,从而迫使浏览器认为这是不同的文件去下载更新缓存

最终输出的内容就像 百度云的首页html源代码里这样

<link href="/ppres/static/css/pcloud_feedpage_all.css?t=201504154611" rel="stylesheet" type="text/css"/>
Nach dem Login kopieren

css 文件可以这样加时间戳,其它静态资源也可参照此加

不过开发时也可以直接这样 让它每次都更新时间戳,

<link rel="stylesheet" type="text/css" href="/xx/style.css?time=<?php echo time(); ?> " />
Nach dem Login kopieren

其它语言如jsp asp 等同样可以轻易做到 

不过不可以用javascript做 虽然可以用它这样得到时间戳

<script>
var time1=Date.parse(new Date());
var time2=new Date().valueOf();
var time3=new Date().getTime();
console.log('timestamp:'+time1);
console.log('timestamp:'+time2);
console.log('timestamp:'+time3);

/* time1的毫秒部分将是000,不会计算毫秒
 time2,time3会记录精确到毫秒,且结果相同 */
</script>
Nach dem Login kopieren

但是是没有意义的,在客户端即使插入到了引用路径中也是也是没有意义 因为请求是向服务器端发的 需要考虑一个是执行加时间戳的时间上 一个是服务器端的路由控制

wordpress下也可以参照这样

来自winy:http://www.hilau.com/1311273.html   /or/  http://www.laozhuhome.com/html/automatically-version-your-css-and-javascript-files

用grunt作前端工作流时更可以使用这样一个tool

automatic-version-increment

很多方式,选喜欢的吧!

总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ein Artikel über Speichersteuerung in Node Ein Artikel über Speichersteuerung in Node Apr 26, 2023 pm 05:37 PM

Der nicht blockierende und ereignisgesteuerte Knotendienst hat den Vorteil eines geringen Speicherverbrauchs und eignet sich sehr gut für die Verarbeitung massiver Netzwerkanforderungen. Unter der Voraussetzung massiver Anfragen müssen Probleme im Zusammenhang mit der „Speicherkontrolle“ berücksichtigt werden. 1. Der Garbage-Collection-Mechanismus und die Speicherbeschränkungen von V8 Js wird von der Garbage-Collection-Maschine gesteuert

So zeigen Sie alle zwischengespeicherten DNS-Einträge unter Windows 11 an So zeigen Sie alle zwischengespeicherten DNS-Einträge unter Windows 11 an May 21, 2023 pm 01:01 PM

Das Windows-Betriebssystem verwendet einen Cache zum Speichern von DNS-Einträgen. DNS (Domain Name System) ist die Kerntechnologie des Internets, die für die Kommunikation verwendet wird. Insbesondere die IP-Adresse, die zum Nachschlagen von Domänennamen verwendet wird. Wenn ein Benutzer einen Domänennamen in seinen Browser eingibt, besteht eine der ersten Aufgaben beim Laden einer Website darin, deren IP-Adresse zu ermitteln. Für diesen Vorgang ist der Zugriff auf einen DNS-Server erforderlich. Normalerweise werden die DNS-Server des Internetdienstanbieters automatisch verwendet, Administratoren wechseln jedoch möglicherweise zu anderen DNS-Servern, weil diese möglicherweise schneller sind oder einen besseren Datenschutz bieten. Ein Wechsel des DNS-Anbieters kann auch dazu beitragen, die Internetzensur zu umgehen, wenn DNS verwendet wird, um den Zugriff auf bestimmte Websites zu blockieren. Windows verwendet eine DNS-Lösung

Lassen Sie uns ausführlich über das File-Modul in Node sprechen Lassen Sie uns ausführlich über das File-Modul in Node sprechen Apr 24, 2023 pm 05:49 PM

Das Dateimodul ist eine Kapselung der zugrunde liegenden Dateioperationen, wie z. B. Lesen/Schreiben/Öffnen/Schließen/Löschen von Dateien, Hinzufügen usw. Das größte Merkmal des Dateimoduls besteht darin, dass alle Methoden zwei Versionen von **synchronem** und **bereitstellen. asynchron**, mit Methoden mit dem Suffix sync sind alle Synchronisationsmethoden, und diejenigen ohne sind alle heterogene Methoden.

So leeren Sie den Cache unter Windows 11: Ausführliche Anleitung mit Bildern So leeren Sie den Cache unter Windows 11: Ausführliche Anleitung mit Bildern Apr 24, 2023 pm 09:37 PM

Was ist Cache? Ein Cache (ausgesprochen ka·shay) ist eine spezielle Hochgeschwindigkeits-Hardware- oder Softwarekomponente, die zum Speichern häufig angeforderter Daten und Anweisungen verwendet wird, die wiederum zum schnelleren Laden von Websites, Anwendungen, Diensten und anderen Aspekten des Systems verwendet werden können . Durch Caching werden die Daten, auf die am häufigsten zugegriffen wird, sofort verfügbar gemacht. Cache-Dateien sind nicht dasselbe wie Cache-Speicher. Cache-Dateien beziehen sich auf häufig benötigte Dateien wie PNGs, Symbole, Logos, Shader usw., die möglicherweise von mehreren Programmen benötigt werden. Diese Dateien werden in Ihrem physischen Laufwerksraum gespeichert, normalerweise versteckt. Cache-Speicher hingegen ist ein Speichertyp, der schneller ist als Hauptspeicher und/oder RAM. Es verkürzt die Datenzugriffszeit erheblich, da es näher an der CPU liegt und im Vergleich zum RAM schneller ist

Erfahren Sie, wie Sie Unit-Tests in Vue3 schreiben Erfahren Sie, wie Sie Unit-Tests in Vue3 schreiben Apr 25, 2023 pm 07:41 PM

Vue.js ist heute ein sehr beliebtes Framework in der Front-End-Entwicklung. Da sich Vue.js ständig weiterentwickelt, werden Unit-Tests immer wichtiger. Heute untersuchen wir, wie man Unit-Tests in Vue.js 3 schreibt, und stellen einige Best Practices sowie häufige Probleme und Lösungen vor.

PHP und Vue: eine perfekte Kombination von Front-End-Entwicklungstools PHP und Vue: eine perfekte Kombination von Front-End-Entwicklungstools Mar 16, 2024 pm 12:09 PM

PHP und Vue: eine perfekte Kombination von Front-End-Entwicklungstools In der heutigen Zeit der rasanten Entwicklung des Internets ist die Front-End-Entwicklung immer wichtiger geworden. Da Benutzer immer höhere Anforderungen an das Erlebnis von Websites und Anwendungen stellen, müssen Frontend-Entwickler effizientere und flexiblere Tools verwenden, um reaktionsfähige und interaktive Schnittstellen zu erstellen. Als zwei wichtige Technologien im Bereich der Front-End-Entwicklung können PHP und Vue.js in Kombination als perfekte Waffe bezeichnet werden. In diesem Artikel geht es um die Kombination von PHP und Vue sowie um detaillierte Codebeispiele, die den Lesern helfen sollen, diese beiden besser zu verstehen und anzuwenden

Wie lassen sich domänenübergreifende Probleme lösen? Eine kurze Analyse gängiger Lösungen Wie lassen sich domänenübergreifende Probleme lösen? Eine kurze Analyse gängiger Lösungen Apr 25, 2023 pm 07:57 PM

Domänenübergreifend ist ein Szenario, das in der Entwicklung häufig vorkommt und auch ein häufig in Interviews diskutiertes Thema ist. Die Beherrschung gängiger domänenübergreifender Lösungen und der dahinter stehenden Prinzipien kann nicht nur unsere Entwicklungseffizienz verbessern, sondern auch in Vorstellungsgesprächen bessere Leistungen erbringen.

Wie verwende ich die Go-Sprache für die Front-End-Entwicklung? Wie verwende ich die Go-Sprache für die Front-End-Entwicklung? Jun 10, 2023 pm 05:00 PM

Mit der Entwicklung der Internet-Technologie hat die Front-End-Entwicklung immer mehr an Bedeutung gewonnen. Insbesondere die Popularität mobiler Geräte erfordert eine Front-End-Entwicklungstechnologie, die effizient, stabil, sicher und einfach zu warten ist. Als sich schnell entwickelnde Programmiersprache wird die Go-Sprache von immer mehr Entwicklern verwendet. Ist es also möglich, die Go-Sprache für die Front-End-Entwicklung zu verwenden? Als Nächstes wird in diesem Artikel ausführlich erläutert, wie die Go-Sprache für die Front-End-Entwicklung verwendet wird. Werfen wir zunächst einen Blick darauf, warum die Go-Sprache für die Front-End-Entwicklung verwendet wird. Viele Leute denken, dass die Go-Sprache eine ist

See all articles