Help us understand the problem. What is going on with this article?

Safari のページタイトルとURLをクリップボードにコピーする AppleScript

More than 3 years have passed since last update.

Sarari のURLとタイトルをコピー

Safari で表示しているページをメモしたりするときに、ページのタイトルとURLをセットで使いたいですよね。

 手動だと、ページタイトルを選択してコピー、それを何処かに貼り付けておいて、URLを選択してコピーして、貼り付けるという手順になって結構面倒。

 なので、だいぶ前に AppleScript でこんなコードを書いて、最近まで使っていました。

URLcopy.scpt
tell application "Safari"
    set thisURL to URL in front document
    set thisTitle to do JavaScript "document.title" in front document
    set the clipboard to thisTitle & return & thisURL
end tell

Safari のバージョンアップでエラーが出る!

 ところが、最新の Safari では JavaScriptの実行が制限されて、エラーで動かなくなってしまった。(「開発」メニューの「Apple Events からの JavaScript を許可」を選択すると実行するようにはなる)

 ということで、AppleScript の Safari拡張である do JavaScript を使わないバージョンに変更したのがこちら。

URLcopy2.scpt
tell application "Safari"
    set thisURL to URL in front document
    set thisSource to source in front document
    ignoring case
        set titleBegin to the offset of "<TITLE>" in thisSource
        set titleEnd to the offset of "</TITLE>" in thisSource
    end ignoring
    set thisTitle to characters (titleBegin + 7) thru (titleEnd - 1) of thisSource as string
    set the clipboard to thisTitle & return & thisURL
end tell

HTML ソースから title タグを探しているので、HTMLの書き方によっては上手く行かないかもしれませんが、ま、大体は動くということで。

ちなみに、こんなブックマークレットでも実現できるのだが...

URLcopy.js
javascript:prompt('Title%20%28Return%29%20URL',document.title+'%20%3d%3d%3e%20'+location.href);

ダイアログが表示されたら編集メニューでコピーするとタイトルとURLがクリップボードにコピーされます。(prompt では改行コードが入れられなかったので、代わりに「 ==> 」で区切るようにしました)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした