知っておくとユーザー(とコーダー)に優しいCSSとHTMLの小技

今回はコーディングにおける
知っておくとユーザー(主にコーダー)に優しいCSSとHTMLの小技を紹介します。

1.キャッシュによる表示崩れをさせない

ブラウザには、一度訪問したページのcssや画像をキャッシュしておき、
次回訪問時に素早く表示するという機能がありますが、

サイト運営側が表示部分に影響するcssやjsを変更しても、
ユーザー側ではキャッシュを使ったため、きちんと最新版が読み込まれておらず、
表示が崩れてしまうことがあります。

もちろんF5ボタンやCtrl+Rなどで画面を更新すれば、たいていの場合は治りますが、
GoogleChromeなどではキャッシュが強いのか、実際にそのファイルにアクセスして更新しないと
すぐには更新されないこともあります。

何より、ユーザー側からすれば「うわ、崩れているなこのサイト」と、思われ離脱されるという機会損失の
リスクが発生します。

それを防ぐため、

cssやjsのリンクにパラメータを与える

という方法があります。

<link href="/css/connect.css?modified=20121117" rel="stylesheet" />
このような感じです。
contact.cssの後ろにある?以降のパラメータは、PHPの言語でGET送信のため等に使うものなので、
cssでやっても意味はありません。しかしcontact.css自体はきちんと読み込みされます。
ブラウザはリンク先のURLが変わっているためキャッシュを使えず、最新版をきちんと読み込みにいくというワケです。
手動更新の場合は、この無意味なパラメータ部分を一意に変えてアップすれば良いわけですが、

  • CMSの場合
例えばMovableTypeであれば、共通のheaderやmetaに該当する部分で、
下記のようにしておきます。

<link href="/css/index.css?modified=<$MTdate format="%Y%m%d%H%K%M%S"$>" rel="stylesheet" />
(<mt:entrydate>タグだと、<mt:entries>ブロックタグの中でしか使えないので<mt:date>推奨)
更新時の時間がパラメータ部分となるので、手動変更する必要はありません。
(WordPressはPHPなので、まぁPHPの関数でも色々なんとでも出来ると思います。)



2.httpでもhttps(SSL)からでも、警告文を出させない

画像リンクやcssのリンクで、https(SSL)から、普通のhttpページにリンクを
はった場合、InternetExplorerや、Firefoxでは、下記のように警告ないし、矛盾がでてしまいます。

  • InternetExplorer「セキュリティで保護されているコンテンツのみ表示されます。」
kowaza1.jpg

  • Firefox「httpsなのに錠のマークが表示されない」
kowaza2.jpg

※GoogleChromeは特に出ないようです。

そこで、httpsページのhtmlはimg、css、js等のリンクをすべて相対パスにするか、
もしくはhttpsからの絶対パスで書いておくと、上記のような警告や矛盾は表示されなくなります。

しかし
ひとつのhtmlで、httpとhttps両方からアクセスが出来るパターンもあります。

その場合、2つそれぞれのファイルをつくる場合もありますが、下記のように

//から書いておく

<link href="//web-generalist.com/css/sslcontact.css" rel="stylesheet" />

少し違和感がありますが、これでhttpからでも、httpsからでも柔軟にリンクしてくれ、
警告や矛盾の問題もクリアできます。


知っておくと少しかゆいところに手が届く(かもしれない)ちょっとした技術ネタでした。

ちなみに、2.に関しては下記の書籍のTIPS的なところで知りました、感謝!


Share SocialMedia

Related

Commentコメント頂けると喜びます。

名前(ニックネーム)
コメントを書く

TrackBackこの記事を論及・引用、関連記事にして頂けたらありがたき幸せ。

PageTop

Search

Categoryを絞り込んで検索

Category

Calendar

show

Archive

AFFINGER4

Popularities

賢威
×