なんでも開けるショートカット †概要 †アドベントカレンダー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を取得し、それらをあわせた中で一番先頭に来るものを開きます。 さらにプレビュー可能かどうかを調べ、プレビュー可能であればプレビューダイアログを表示。 結構便利なのでおすすめです。 コメントとか † |