ワンタッチでCSS服喪解除するbookmarklet

旅行記を書いている途中ですが、タイムリーなのでこちらに書いておきます。
10月に入ってからタイのWebサイトがみんな服喪仕様にマイナーチェンジしてます。2017年10月のプミポン国王(当時)逝去にともない服喪仕様になったのと同様、今回はプミポン前国王の火葬が近づいているための動きですが、今回はちょっと前回と違っています。

いえ、前回も今回も、CSS3のfilter:プロパティでgrayscale()の値を変更することによって行っているのは同じなのですが、前回はgrayscaleの値が1,つまり100%、全くの白黒だったのに対し、今回は0.8とか0.9、ほぼ白黒、という数字になっています。

よって、前回使えていた国外Webブラウザ向けbookmarkletハック*1

  var el = document.querySelectorAll('*');
  Object.keys(el).forEach(function(i) {
    var s = window.getComputedStyle(el[i], null).getPropertyValue("filter");
    if (s === 'filter(1)')  {el[i].style.filter = 'grayscale(0)'; }
  });

が使えません。

まあ、細かい操作が必要なわけではないので、grayscaleを見つけ次第殺す仕様変更をすれば動くわけですから、

  var el = document.querySelectorAll('*');
  Object.keys(el).forEach(function(i) {
    var s = window.getComputedStyle(el[i], null).getPropertyValue("filter");
    if (s.indexOf('grayscale')>=0)  {el[i].style.filter = 'grayscale(0)'; }
  });

と変更すればなんなく動きます。

下の行をコピペしてどうぞお使いください。PC上のchrome, iPhone上のsafariで動作確認済です。

javascript:var el = document.querySelectorAll('*'); Object.keys(el).forEach(function(i) { var s = window.getComputedStyle(el[i], null).getPropertyValue("filter"); if (s.indexOf('grayscale')>=0) {el[i].style.filter = 'grayscale(0)'; } });

*1:タイ国王死去で黒白表示になっているサイトをカラーに戻す方法を丸パクリして使わせてもらいました。ありがとうございました。