ラベル Firefox の投稿を表示しています。 すべての投稿を表示
ラベル Firefox の投稿を表示しています。 すべての投稿を表示

2012年10月30日火曜日

[Mac] Firefox, Chrome, Sleipnirで見ているページをSafariのリーディングリストに送るAppleScript

iPhoneでオフラインでもウェブページが見れるようにしたい。
つまり、Safariのリーディングリストを使いたい(もちろん他にもありますけど)。
でも日頃はFirefox、Chrome(Sleipnirも追加)を使っており、リーディングリストのためだけにSafariを立ち上げるのは面倒です。

少し調べてみると、以下のサイトがあったので参考にさせていただきました。ありがとうございます。
Chrome版は1つめのサイトで即完了。しかしFirefox用は2つ目も合わせてAppleScriptを作ったので備忘録として載せておきます。これをアプリケーションとして作っておけば、Alfredなどのランチャーを使ってさっと起動してリーディングリストに送れます。
しかし、FirefoxはApplescriptの点ではダメなブラウザですね…。なお、Firefox用AppleScriptの最後の行は、上記サイトのものではアプリケーション実行後にSafariが起動したままだったので追記しました。

2013年11月12日追記
  1. Firefox用スクリプトの一行目と後のgui_checkの部分は無くても動作することが分かりました。元々は必要だったみたいですが、MavericksにしたせいかFirefoxのバージョンが上がったせいなのか分かりませんがエラーが出ました。詳しいことは検証できていませんが、現在ではgui_check()がなくても問題なく動作しますのでコメントアウトしてあります。コピペして使用されるときはコメントアウト部分は削除していただいて大丈夫です。
  2. Sleipnir用スクリプトも追加しました。 
    ※たまに動作しません。。。が、とりあえず載せておきます。
    • with title "from Sleipnir"
      という部分はSleipnirで開いているタブのタイトルを取得する方法がわからなかったために苦し紛れに入れています。タイトルがないとリーディングリストに追加できないみたいなので。スクリプト実行後すぐにSafariでリーディングリストを確認すると、オフライン用に保存する前はタイトルが from Sleipnir になっていますが、保存が終わるとページのタイトルを自動的に取得してくれます。さすがSafari。なので、とりあえずこの書き方でも問題なく動作します。
    • key code 53
      という部分はescキーを押すことと同じです。
      番号の割り当ては AppleScript Key Code List を参照してください。

Chrome

tell application "Google Chrome"
 set myURL to get URL of active tab of first window
 set myTitle to get title of active tab of first window
end tell
tell application "Safari" to add reading list item myURL with title myTitle

Firefox

-- my gui_check()
set temp to the clipboard as text
tell application "Firefox"
 activate
 set myTitle to the name of front window
 tell application "System Events"
  keystroke "l" using {command down}
  keystroke "c" using {command down}
  delay 0.5
  set myURL to the clipboard as text
 end tell
end tell
tell application "Safari" to add reading list item myURL with title myTitle
delay 0.5
set the clipboard to temp as text

(* to gui_check()
 tell application "System Events"
  if UI elements enabled is false then
   tell application "System Preferences"
    activate
    set current pane to pane "com.apple.preference.universalaccess"
    set msg to "GUI scripting is not available." & return & "Do you put the check in" & return & "\"Enable access for assistive devices\" ?"
    --display dialog msg buttons {"OK"} default button "OK" with icon note --giving up after 10
    display dialog msg buttons {"cansel", "check and try"} with icon note
   end tell
   set UI elements enabled to true
   delay 0.5
   tell application "System Preferences" to quit
   delay 0.5
  end if
 end tell
end gui_check *)
tell application "Safari" to quit

Sleipnir

(2014年1月23日追記)すみません、下記を以前テストしたときには動いたのですが、たまにうまくいきません。。。改善の余地ありですが時間があるときにやります。。。
set temp to the clipboard as text
tell application "Sleipnir" to activate
tell application "System Events"
 keystroke "l" using {command down, option down}
 keystroke "c" using {command down}
 key code 53
 delay 0.5
 set myURL to the clipboard as text
end tell

tell application "Safari" to add reading list item myURL with title "from Sleipnir"
delay 0.5
set the clipboard to temp as text

tell application "Safari" to quit

しかし…

「リーディングリストに登録したらオフラインでも読める」というのはいつまでなんでしょうかね。かなり前にリーディングリストに追加した記事に久しぶりにアクセスすると「Page not found」と出ました。おそらく一定期間か、一定サイズのどちらかしかオフライン用に保存できないのでしょうね。。。使えるんだか使えないんだか、この機能。いつまでも保存しておきたいなら別のサービスを使ったほうが良いでしょうね。

2011年5月27日金曜日

アドレスバーからGoogle Scholarで一発検索する

PubMedが医学生化学を重視しているので、生態学のジャーナルがないことがあります。
そんなときにはGoogle Scholarをよく使います。

しかし、その都度Google Scholarのサイトに行って検索語句を入力するのは面倒です。
そこで一手間省くために、ブラウザのアドレスバーから一発でGoogle Scholar検索することができます。

Firefox と Chrome での設定を紹介します。

Firefox 4の場合
  1. Google Scholarのサイトを訪れます
  2. 検索窓で右クリック
  3. 「この検索にキーワードを設定」を選択
  4. 任意に「キーワード」を入力(今回は"gs"としました)
  5. 通常のブックマークと同じように保存
  6. これでアドレスバーに「gs 検索語」と入力すれば一発でGoogle Scholar検索が可能です
Chrome 12の場合
  1. 環境設定>基本設定>検索にある、「検索エンジンの管理」を開く
  2. 「その他の検索エンジン」の一番下に新しく設定できる欄があります
    1. 「新しい検索エンジンを追加」→任意(今回は"Google Scholar")
    2. 「キーワード」→任意(今回は"gs")
    3. 「検索キーワードの代わりに云々」→ http://scholar.google.com/scholar?hl=ja&q=%s
  3. これでアドレスバーに「gs 検索語」と入力すれば一発でGoogle Scholar検索が可能です
もちろん、この方法を用いれば、どんな検索エンジンでも追加することができます。
お好みに合わせて設定してみてください。

2011年2月17日木曜日

Mac Firefox で複数のプロファイルを共存させる

普段Firefox3をメインでつかっています。
しかしFirefox4もベータ版が11まで出た(2011年2月17日現在)ので、
使ってみたいと思ったのですがそこで問題なのが
プロファイルの切り替え。

3のプロファイルだとアドオンやらが不適合で起動する度にインストールやらなんやら。
まるで実用的ではないので、プロファイルの共存方法を探っていました。

調べてみると基本的な方法は、
  1. Firefox4betaを入手、インストール
    http://mozilla.jp/firefox/beta/
    (インストールの際には、先に元々のFirefox.appをリネーム(例えばFirefox3.app)し、同じアプリケーションフォルダにFirefox4betaをインストール。その時点では、4betaのほうが、Firefox.appになっているので、仮に"Firefox4b.app"とリネーム。元々のFirefox3のファイル名をFirefox.appに戻せばOKです。)
  2. Teriminalから
    /Applications/Firefox.app/Contents/MacOS/firefox-bin -ProfileManager
    プロファイルマネージャーを起動
  3. 新規プロファイルを作成(名前はお好きに。仮にFirefox4とします。)
  4. Teriminalから
    /Applications/Firefox4b.app/Contents/MacOS/firefox-bin -P "Firefox4"
    これでFirefox4が3で使っていたデフォルトのプロファイルとは別のプロファイルで起動します。
しかし、これを3と4を切り替えたい度に入力するのは面倒…。

現実的なもうひとつの方法は、上記のステップ3で新規プロファイルを作成した際に、
「今後このプロファイルを使用する」
のチェックを外しておくと、Firefoxを起動するたびに、どのプロファイルを使用するか聞かれます。最終的に私はこの方法で起動しています。

以下は採用しませんでしたが、調べると、上記ステップ4のコマンドをアプリ化する方法があるようです。
MacでFirefox共存一発起動(まいう〜の鮹語録)
http://mai-u.x0.com/tako/archives/2008/04/macfirefox.html
(1.5と2.0の共存方法です)
ただ結論としてはいまひとつ。。。
「Firefox本体とは別のアプリケーションになるから、起動時とアプリケーション切替時で別のアイコンをクリックする羽目になるんですね。ちょっと混乱。」

えーいまどろっこしい!と思って情報探してると以下のサイトが。
Mac Explorer|MultiFirefox - 複数のバージョン・設定のFirefoxを共存・同時起動
というのがあるようです。

私は結局MultiFirefoxも使用せず、毎回プロファイルマネージャーで選択するようにしました。
いままでより一手間多くなってしまいますが…。
Quicksilverで一発プロファイル切り替え起動、みたなのできないかな。

一応QuicksilverでもFirefox3と4の見分けがすぐにできたほうがいいので、
アイコンも変えました。