Googleアナリティクスとの連携でアクセスランキングが作れる『Ranklet』

ブログにアクセスランキングを設置
どんなブログでもGoogleアナリティクスのアクセス数を利用して、アクセスランキングを埋め込める『Ranklet』というサービスを見つけました。現時点でMovableTypeを使用しているこのブログに埋め込みたいと思います。

使い方はとても簡単です。

Googleアカウントでログオン
ランキングに使用するGoogleアナリティクスのプロファイルを選択
表示されたコードをコピペ

これだけで簡単にブログに埋め込むことができます。
HTML、C…

CSSを非同期で読み込むいろいろな方法

CSSを非同期で読み込んで高速化
Lighthouseのパフォーマンススコアの「レンダリングをブロックするリソースを排除する」に対応するための対策方法をメモ。
media=”print” onload=”this.media=’all'”をつける方法
もっとも簡単な方法です。

<link rel=”stylesheet” href=”/path/to/my.css” />

これに、media="print" onload="this.media=’all…

AdSense関係でChromeのコンソールにCORS関係のエラーが出るとき

赤文字でエラーが出る
No ‘Access-Control-Allow-Origin’ headerと出るとき
解決方法
.htaccessに以下の記載をしたところ、エラーが出なくなりました。

Access-Control-Allow-Origin *

他に見つけた書き方
以下のような書き方もあるようです。頭にHeader setを加えた方法です。

Header set Access-Control-Allow-Origin *
Header set Access-Control-Allow-…

【JS】videoタグ動画の画面クリックでPlay/Pauseできるようにする

画面タッチで再生/停止をしたい
サイトにvideoタグで動画埋め込みました。その動画はページ背景に使うイメージ動画です。
背景なので、デザイン的にcontrolsで再生ボタンなどのツールバーは表示させたくありません。それを避けながらPlay/Pauseの機能を付けたいといった要望に応えることになりました。そこで、方法を調べたらありました。結構、簡単にあっさり実現できました。参考にさせていただいたのは以下のページ。

videoタグにcontrolsを設定したのに再生ボタンを押せないとき

MP4ビデオの再生ボタンがクリックできない
WEBサイトにMP4の動画を設置しました。再生/停止や全画面再生などのメニューを表示させるため、<video>タグにcontrolsを加えました
<video controls src="sample.mp4">
しかし、以下のように再生ボタンにカーソルを重ねても指のマークに変わらず、クリックできません。

【JS】アンカーへの画面遷移時に表示位置がズレてしまうときの対策

アンカーポイントがずれてしまう
ハッシュタグを使用してアンカーの位置にジャンプしようとしたとき、LazyloadやSlick.jsなどのSliderを使っているせいか、画像表示ページが伸縮するために、意図する位置で表示されないことが起こりました。
具体的には画像スライダーのあるページに<form>でお問合せフォームを設置していて、actionには自らのページにハッシュタグを付けており、submitで送信後に戻ってきたときにスクロール位置がずれました。しかも、パソコンとスマホ(iPhone…

【JS】水の波紋のようなエフェクトで演出をする『jQuery Ripples』

画面上に水滴をたらしたようなエフェクト

ホームページの背景に波紋のようなエフェクトを加えてくれるjQueryツールを見つけたのでメモ。随分前から存在して板みたいなのですが、たまたま見つけました。味気ないホームページにちょっとした遊びごころを加えたいときにちょうど良さそうです。

公式ページ

基本ソース例

jQueryjquery.ripples.jsを読み込んで、以下の設定を加えるだけで設置完了です。任意の#id.classなどの要素を指定します。画像にマウスカーソルを移すと、カーソルの動きに合わせて水面が波を打ちます。

※imgに直接classidを指定したら動作しませんでした。以下のデモはスタイルシートでbackground-imageに画像を指定しています。

<style>
div.ripples-1 {
  background-image: url('/blog/images/noimage-448.png');
  width: 448px;
  height: 299px;
}
</style>
<div class="div.ripples-1"></div>

<script src="js/jquery-3.6.0.min.js"></script>
http://js/jquery.ripples-min.js
<script> 
  $('div.ripples-1').ripples();
</script>

カスタマイズした例

以下は波紋の大きさや解像度などを指定した例です。

<style>
div.ripples-2 {
  background-image: url('/blog/images/noimage-448.png');
  width: 448px;
  height: 299px;
}
</style>
<div class="div.ripples-2"></div>

<script src="js/jquery-3.6.0.min.js"></script>
http://js/jquery.ripples-min.js
<script> 
$('div.ripples-2').ripples({
  	resolution: 512,
   dropRadius: 20,
   perturbance: 0.04,
});
</script>

パラメータ

名前 タイプ ディフォルト 説明
imageUrl string null 背景画像の指定。背景として使用する画像のURL。存在しない場合、プラグインはbackground-image代わりに計算されたCSSプロパティの値を使用しようとします。Data-URIも受け入れられます。
dropRadius float 20 ドロップサイズ。キャンバス上でマウスをクリックまたは移動した結果のドロップのサイズ(ピクセル単位)。
perturbance float 0.03 屈折量。基本的に、リップルによって引き起こされる屈折の量。0は、屈折がないことを意味します。
resolution integer 256 解像度。レンダリングするWebGLテクスチャの幅と高さ。この値が大きいほど、レンダリングがスムーズになり、リップルの伝播が遅くなります。
interactive bool true マウスのクリックとマウスの動きが効果をトリガーするかどうか。
crossOrigin string “” 影響を受ける画像に使用するcrossOrigin属性。詳細については、MDNを参照してください。

(参考ページ:https://github.com/sirxemic/jquery.ripples#options

自動で実行する例

公式のサイトにもありますが、以下のコードを使用して自動的に水滴を落とすことができます。

$('body').ripples("drop", x, y, radius, strength)

以下が具体的なソース例です。

 

なぜかこの画面上では動かないのですが、まったく同じソースのデモページを用意しました。

デモページ

<style>
div.ripples-3 {
  background-image: url('/blog/images/noimage-448.png');
  width: 448px;
  height: 299px;
}
</style>
<div class="ripples-3"></div>

<script src="js/jquery-3.6.0.min.js"></script>
http://js/jquery.ripples-min.js
<script>
$(document).ready(function() {
  $('div.ripples-3').ripples({
    resolution: 128,
    dropRadius: 10,
    perturbance: 0.04,
    interactive: false
});

// Automatic drops
setInterval(function() {
  var $el = $('div.ripples-3');
  var x = Math.random() * $el.outerWidth();
  var y = Math.random() * $el.outerHeight();
  var dropRadius = 20;
  var strength = 0.04 + Math.random() * 0.04;

  $el.ripples('drop', x, y, dropRadius, strength);
  }, 400);
});
</script>

レスポンシブサイト制作時の画面サイズと埋め込み動画の解像度の参考値

レスポンシブサイト制作で気になるサイズ
レスポンシブサイトの背景に動画を埋め込む際に、PCで表示する場合とスマートフォンで表示する場合で、どの解像度で動画を用意すればいいかを考える際に必要な参考値をメモ。
ブレークポイント
CSSフレームワークを使った場合の画面横幅の参考。単位はピクセル。
Bootstrap

Extra extra large(xxl): 1400以上
Extra large(xl): 1200以上
Large (lg): 992以上
Medium(md): 76…