LoginSignup
3

More than 5 years have passed since last update.

Safari, Chromeで右クリックのメニューからリンク先URLを取得するAutomatorワークフロー

Last updated at Posted at 2015-10-29

Chrome Canaryでwebページを見ている時に、リンク先をCanaryではなく通常版のChromeで開きたい案件が発生した
右クリックのサービスの中に「URLを開く」というものがあり、それでいけるかと思っていたのだが選択した文字列をそのまま規定のブラウザに送るというクソ仕様だった
(http://fuga.com/みたいになってると http://fuga.com/ に飛ばされる!)

そこで自作のサービスでなんとかしようと思い色々やって下記のコードに落ち着いた
JavaScriptでワークフロー書けるとか全然知らなかった(そもそもAutomatorすら触ったことなかったけど)
そしてそっからさらにブラウザで任意のJavaScriptを実行できるなんて・・・

苦労の結晶.js
function run(input, parameters) {

    var app = Application("Google Chrome Canary");
    app.includeStandardAdditions = true;

    var url = app.windows[0].activeTab.execute({
        javascript: 'window.getSelection().anchorNode.parentNode.href'
    });

    return url;
}

最終的にこんな感じ

スクリーンショット 2015-10-29 16.23.32.png

あんまり需要ありそうには思えないけど備忘録も兼ねて

[2015/10/30 13:00 追記]

Safariでやろうと思ったらちょっとコード違った

Safari
function run(input, parameters) {

    var app = Application("Safari");
    app.includeStandardAdditions = true;

    var url = app.doJavaScript('window.getSelection().anchorNode.parentNode.href',{
        in: app.windows[0].currentTab
    });

    return url;
}

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3