メインコンテンツに移動
mattz.xii.jp

Main navigation

  • Home
  • YBR125メモ
User account menu
  • ログイン

パンくず

  1. ホーム

全角の英数字が大嫌い

By mattz , 2009/06/09

キライなんです。醜いから。なので、極力目に入らないよう次のようなスクリプトを書いた。

// ==UserScript==
// @exclude http://mattz.xii.jp/*
// ==/UserScript==
(
function(){
  document.addEventListener(
    'DOMContentLoaded',
    function(){
      document.body.innerHTML = document.body.innerHTML.replace(/([0-9A-Za-z ])/g,function(str,p1){
        return {'0':'0','1':'1','2':'2','3':'3','4':'4','5':'5','6':'6','7':'7','8':'8','9':'9',
          'A':'A','B':'B','C':'C','D':'D','E':'E','F':'F','G':'G','H':'H','I':'I','J':'J','K':'K',
          'L':'L','M':'M','N':'N','O':'O','P':'P','Q':'Q','R':'R','S':'S','T':'T','U':'U','V':'V',
          'W':'W','X':'X','Y':'Y','Z':'Z','a':'a','b':'b','c':'c','d':'d','e':'e','f':'f','g':'g',
          'h':'h','i':'i','j':'j','k':'k','l':'l','m':'m','n':'n','o':'o','p':'p','q':'q','r':'r',
          's':'s','t':'t','u':'u','v':'v','w':'w','x':'x','y':'y','z':'z','(':'(',')':')',' ':' '}[p1];
      });
    },false
  );
})();

書いたけど、一部のスクリプトを殺してしまうようなので、ご利用は計画的に。

例えば、このDrupalの新規エントリ作成画面のスクリプトが動きません。おかしいなと思ったら、@excludeに追加していただくとか、根本的な問題を修正していた だくとか、そもそも使うのをやめるとかしてください。

2009/10/21 追記

別のスクリプトを作っている過程で、このスクリプトの問題点が分かったので対処。

ついでに、regexp - 全角英数字を半角にの全半変換関数をまんまコピーして作り直した。

Bookmarklet - link them all!でいいじゃねーかって?おっしゃる通り。

// ==UserScript==
// ==/UserScript==
(
function(){
  var fascii2ascii = (function(){
    var cclass
     = '['+String.fromCharCode(0xff01)+'-'+String.fromCharCode(0xff5e)+']';
    var re_fullwidth = new RegExp(cclass, 'g');
    var substitution = function(m){
      return String.fromCharCode(m.charCodeAt(0) - 0xfee0);
    };
    return function(s){ return s.replace(re_fullwidth, substitution) };
  })();
  window.addEventListener(
    'DOMContentLoaded',
    function(){
      var x = document.evaluate('//', document, null, 7, null);
      var l = x.snapshotLength;
      var val;
      for(i = 0;i < l;i++){
        if('#text' == x.snapshotItem(i).nodeName){
          val = x.snapshotItem(i).nodeValue;
          x.snapshotItem(i).nodeValue = fascii2ascii(val);
        }
      }
    },false
  );
})();

タグ

  • UserJS
  • JavaScript

最近のエントリー

  • フロントブレーキパッドの交換
  • バイクガレージを買った
  • バックミラーの交換
  • 角目化
  • バイクカバーを新調
  • クラッチレバーブーツの硬化対策
  • ハンドルストッパー
  • ジェッティングの見直し
  • バックミラーの防眩化
  • チェーン交換(その後)

ランダム

  • マミレル (2012/05/23)
  • 2ログビューア(4)-「㌧問題」に対応する (2008/05/22)
  • ダンディズム (2010/06/11)
  • 風来のシレン (2009/06/02)
  • <br>の連打をuser CSSで無効にする (2008/06/05)

月別アーカイブ

  • 6月 2025 (54)
  • 12月 2024 (1)
  • 11月 2023 (3)
  • 10月 2023 (1)
  • 12月 2022 (1)
  • 4月 2022 (1)
  • 12月 2021 (1)
  • 2月 2021 (1)
  • 11月 2020 (1)
  • 7月 2020 (1)
  • 12月 2019 (1)
  • 7月 2019 (2)

ページ送り

  • 前ページ
  • 2
  • 次ページ
RSS feed