なんでも開けるショートカット

概要

アドベントカレンダー7日目。今日はベータ版の最新APIを活用したスクリプトです。

URLを開くと通常はブラウザが起動します。でも内蔵エンジンで表示できる場合は内蔵エンジンで開きます。これをショートカットにしたい。なにかうまい方法は無いのか…

いつも通り、スクリプト拡張で解決します。

スクリプト

System.addKeyBindingHandler(0xBC, 0, function(id){
    var status = TwitterService.status.get(id);
    var start = -1;
    var url = "";
    var previewUrl = "";
    if(status.entities.media.length > 0){
        start = status.entities.media[0].start;
        url = status.entities.media[0].url;
        previewUrl = status.entities.media[0].media_url;
    }
    if(status.entities.urls.length > 0){
        if(start < 0 || start > status.entities.urls[0].start){
            start = status.entities.urls[0].start;
            url = status.entities.urls[0].expanded_url;
            previewUrl = "";
        }
    }
    if(start > 0){
        if(previewUrl != ""){
            System.openPreview(url, previewUrl);
        }else{
            var u = System.getPreviewUrl(url);
            if(u == "")
                System.openUrl(url);
            else
                System.openPreview(url, 0);
        }
    }
});

解説

URLを含むツイートを選択して,(カンマ)キーを押すと一番先頭のURLを開きます。それがプレビュー可能であればさらにプレビューもします。

API Level 21で追加されたAPIをフル活用しています。entitiesのプロパティの中からpic.twitter.comの画像と、一番先頭のURLを取得し、それらをあわせた中で一番先頭に来るものを開きます。 さらにプレビュー可能かどうかを調べ、プレビュー可能であればプレビューダイアログを表示。

結構便利なのでおすすめです。

コメントとか


もし見えてたら空欄にしてね!:

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-08-27 (土) 10:33:39 (1850d)