2015年7月30日木曜日

クライミングジムのクーポンをRSSでチェックする

オールクーポンというサイトで複数のクーポンサイトをまとめて検索できるのだけど、残念ながらフィードは提供されていない。Feed43というサイトを利用すれば、WebページからRSSを生成できるというのでやってみた。

上記のURLをそのままフィードリーダーに登録すれば購読できる。対象地域は全国だけど、クーポンを販売するジムがとても少ないので、登録しても何も表示されないかも。

RSSは「ボルダリング」の検索結果から生成している。リードのジムでも、たいていはボルダリング壁を併設してるだろうから漏れることはほぼないと思う。「クライミング」だとボルダリングジムが出てこなかったり、「ツリークライミング」や「シャワークライミング」が含まれてしまったりする。

2015年7月8日水曜日

YouTubeの埋め込み動画を低画質に固定するChrome拡張を書いた

「ぷららモバイルLTE 定額無制限プラン」が遅い上に不安定で、YouTubeの再生が頻繁に止まってしまう。低画質に固定する拡張を探してみたが、埋め込み動画に対応しているものが見つからなかったので、埋め込み動画にしか対応していないものを書いた。

manifest.json

{
    "manifest_version": 2,
    
    "name": "low quality youtube",
    "version": "1.0",
    "background": {
        "scripts": ["background.js"]
    },
    "permissions": [
        "http://www.youtube.com/embed/*",
        "https://www.youtube.com/embed/*",
        "http://www.youtube.com/v/*",
        "https://www.youtube.com/v/*",
        "webRequest",
        "webRequestBlocking"
    ]
}

background.js

var VIDEO_QUALITY = "small";

chrome.webRequest.onBeforeRequest.addListener(
    function(details) {
        var param = "vq=" + VIDEO_QUALITY;
        var replaced = false;
        var url = details.url.replace(/[?&]vq=\w+/, function(match) {
            replaced = true
            return match.charAt(0) + param;
        });
        if (!replaced) {
            url = url.concat(url.indexOf("?") >= 0 ? "&" : "?", param);
        }
        if (url !== details.url) {
            return { redirectUrl: url };
        }
    },
    { urls: [
        "http://www.youtube.com/embed/*",
        "https://www.youtube.com/embed/*",
        "http://www.youtube.com/v/*",
        "https://www.youtube.com/v/*"
    ] },
    ["blocking"]
);

適当なフォルダに上記のファイルを保存して、Chromeの拡張機能を開きデベロッパーモードをクリック、 [パッケージ化されていない拡張機能を読み込む...]でさっきのフォルダを指定すれば使用できる。

常駐するタイプの拡張なのでメモリ消費が欠点。ぷららモバイルLTEは解約する予定。