MozillaZine.jp フォーラム
https://forums.mozillazine.jp/

Firefoxで開いているURI一覧を、プログラム(VB等)で取得する方法
https://forums.mozillazine.jp/viewtopic.php?f=2&t=7408
ページ 11

作成者:  Hiroyama [ 2008年5月18日(日) 12:58 ]
記事の件名:  Firefoxで開いているURI一覧を、プログラム(VB等)で取得する方法

こんにちは。
製品名: Firefox 2.0.0.14
OS: Windows XP SP2
Firefoxで開いている複数URIの一覧を、プログラム(VBやWSH等)から取得する方法はありますか?
拡張をインストールすることで可能ならば、その拡張をご紹介頂ければ幸いです。
更には、ある特定のドメインのURIが開かれている場合に、そのWebページを操作(ページ更新やリンクを辿る等)も行いたいと考えています。
方法をご存知の方やアイデアのある方、ご教示を宜しくお願いいたします。

作成者:  [ 2008年5月20日(火) 16:59 ]
記事の件名:  Re: Firefoxで開いているURI一覧を、プログラム(VB等)で取得する方法

Hiroyama さんが書きました:
Firefoxで開いている複数URIの一覧を、プログラム(VBやWSH等)から取得する方法はありますか?
「等」というのは、JavaScript ではダメでしょうか?
JavaScript であれば Firefox 上で動作できるので、Firefox 上で完結できます。

Hiroyama さんが書きました:
更には、ある特定のドメインのURIが開かれている場合に、そのWebページを操作(ページ更新やリンクを辿る等)も行いたいと考えています。
JavaScript でよければ、という条件がつきますが Greasemonkey が有名だと思います。

作成者:  Hiroyama [ 2008年5月25日(日) 19:59 ]
記事の件名:  Re: Firefoxで開いているURI一覧を、プログラム(VB等)で取得する方法

返信遅くなり、大変申し訳ございません。また、JavaScript 使用してのアイデア・具体例をご提示頂き、ありがとうございます。

JavaScript について経験がないため、JavaScriptで実現可能か検討してみたいと思います。

ただ、もう少しご教示頂けると助かります。まず、実現したいことをもう少し具体的に説明すべきでした。

会社PCにて、Outlook 2003を使用しております。受け取ったメールの件名(メールタイトル)に関連するWebページを、Firefox で開きたい、というのが本質問のきっかけになります。ただし、関連ページが既に開いている場合は、関連ページを新たなタブで開くのではなく、既存のページを更新(リロード)したいと考えています。
そこで、「関連ページが既に開いているか否か」を判別する必要性が出てきました。URIの文字列を確認することで判別可能なのですが、各タブのURI取得方法が判らずに困っています。
IE6使用時には、Outlook の VBAから CreateObject("Shell.Application") で作成したオブジェクトのプロパティ: LocationURL の値を取得する事でURI相当が取得でき、判別可能でした。しかしながら、Firefox でタブを使用するようになり、Firefoxでの情報取得方法(判別方法)を検討中です(ちなみに、IE7でのタブ使用時も、アクティブではないタブの情報取得方法がわからない状況です)。会社PCへのFirefox拡張の追加インストールは可能ですが、メールクライアントの変更はできません。

頂いたアドバイスを元に、今後、下記を検討してみたいと思います。
(1) Outlook から、関連Webページのキーワード付きで URI をオープン(Firefox に渡)し、デフォルトブラウザにしてあるFirefoxの拡張(Greasemonkeyなど)にそのURI(キーワード)を処理させる(Outlookからはキーワードを渡し、そのキーワードをもとにFirefox 内で処理完結させる)。
(2) XUL使用しての実装。(本フォーラムでの質問と平行して調査していた方法です)

もし更なるアドバイスありましたら、ご面倒でもご教示頂けますと幸いです。

作成者:  [ 2008年5月25日(日) 21:29 ]
記事の件名:  Re: Firefoxで開いているURI一覧を、プログラム(VB等)で取得する方法

Hiroyama さんが書きました:
頂いたアドバイスを元に、今後、下記を検討してみたいと思います。
(1) Outlook から、関連Webページのキーワード付きで URI をオープン(Firefox に渡)し、デフォルトブラウザにしてあるFirefoxの拡張(Greasemonkeyなど)にそのURI(キーワード)を処理させる(Outlookからはキーワードを渡し、そのキーワードをもとにFirefox 内で処理完結させる)。
Greasemonkey は、開いているページ中でユーザー JavaScript を動作させるものです。
したがって、最初書かれていた「URIが開かれている場合に、そのWebページを操作」ということはできますが、開こうとしたときに何らかの処理するであるとか、開いたのとは別のタブを操作するとかはできません。

Hiroyama さんが書きました:
(2) XUL使用しての実装。(本フォーラムでの質問と平行して調査していた方法です)
XUL そのものでは、何らかの処理をさせることはできませんので、処理については JavaScript で書くことになります。
(そういった意味で、JavaScript も含めて(広義の)XUL と呼んでいる場合もありますが)

いずれにしても、Firefox 内で動作させるためには JavaScript で書いて、それを Firefox 内に組み込む必要があります。
まず、そのような JavaScript を書くには、ネット上にいろいろある、Firefox 用の拡張機能の作成についての文書(の中の、JavaScript についての部分)が参考にできます。
また、それをどのように Firefox に組み込むかについては、自作の拡張機能として組み込んでも良いし、Javascript Actions のようなアドオンを使って組み込んでも良いでしょう。
(Greasemonkey で組み込むと「そのページ中」で動作することになりますが、Javascript Actions で組み込んだものは「Firefox 中」で動作できます。)

作成者:  Hiroyama [ 2008年5月27日(火) 03:13 ]
記事の件名:  Re: Firefoxで開いているURI一覧を、プログラム(VB等)で取得する方法

長老 あ様、ご親切にありがとうございました。
頂いたアドバイスをもとに情報検索し、取り組んでみたいと思います。
実現できた際には、フォーラムへのフィードバックの意味で情報アップしたいと思います。
(はじめて聞くワードが多く、時間がかかるかと思いますが、ご容赦願います)
何か判らない点が出てきた際には質問させていただく事もあるかと思います。その際にはまたご教示頂けますと大変助かります。
まずはお礼まで。

作成者:  ヒラマサ [ 2008年6月12日(木) 14:15 ]
記事の件名:  Re: Firefoxで開いているURI一覧を、プログラム(VB等)で取得する方法

通りすがりのヒラマサです。
Firefoxの仕様など全く知らない者の、やや無責任なアドバイスです。
でも、予測を立てて調べてみると、意外とビンゴだったりするので、是非トライしてください。

Firefoxは、様々な設定をプロファイルに保存します。(これくらいは私も知っています)
現在のURLをどこかに保存していないか調べるために、
表示されているURLの文字列を、プロファイルフォルダーの中で検索してみましょう。

WindowsXPの場合は、
"C:\Documents and Settings\ユーザ名\Application Data\Mozilla\Firefox\Profiles\"
がプロファイルフォルダーです。

"C:\Documents and Settings\ユーザ名\Application Data\Mozilla\Firefox\Profiles\crf9nipn.Default User\sessionstore.js" と

"C:\Documents and Settings\ユーザ名\Application Data\Mozilla\Firefox\Profiles\crf9nipn.Default User\history.dat"
の2つのファイルがヒットします。

history.datは、操作履歴でしょうか。
sessionstore.jsは、おそらく現在のセッションを保存するファイルです。

sessionstore.jsに注目してみました。
sessionstore.jsはjavaスクリプト文章でセッションを記述しています。
テキストファイルですから、VBなどでも簡単に扱えます。
もちろん、複数タブを開けば、その分のURLが書き込まれます。
sessionstore.jsの内容、分法等のヒントは別途Web等でお調べ下さい。

あとは幸運を祈ります。
:wink:

作成者:  [ 2008年6月14日(土) 18:33 ]
記事の件名:  Re: Firefoxで開いているURI一覧を、プログラム(VB等)で取得する方法

ヒラマサ さんが書きました:
sessionstore.jsは、おそらく現在のセッションを保存するファイルです。

より正確に言うと、「現在の」というよりは「再開に備えて」です。
リアルタイムに記録されるわけではなく、最大 10 秒間の遅延があります。

それでも良ければ、開いている URI 一覧として使えますね。
ただし読み取りのみで、Web ページを操作とかはできません。

作成者:  ヒラマサ [ 2008年6月16日(月) 10:35 ]
記事の件名:  Re: Firefoxで開いているURI一覧を、プログラム(VB等)で取得する方法

あ さんが書きました:
より正確に言うと、「現在の」というよりは「再開に備えて」です。
リアルタイムに記録されるわけではなく、最大 10 秒間の遅延があります。

なるほど、10秒の遅延があると、質問者の方には利用しづらいですね。
さらに、将来も今の形で保存されるのか、不明です。

向学のためにお尋ねします。
あ長老さまは、どうやってそこまでの情報を調べらているのか、もしよろしかったら、教えていただけますか? :)

作成者:  [ 2008年6月19日(木) 21:36 ]
記事の件名:  Re: Firefoxで開いているURI一覧を、プログラム(VB等)で取得する方法

ヒラマサ さんが書きました:
向学のためにお尋ねします。

s/向学/後学/ でしょうか

ヒラマサ さんが書きました:
あ長老さまは、どうやってそこまでの情報を調べらているのか、もしよろしかったら、教えていただけますか? :)

試しにやってみるとか、ソースを見てみるとか、Bugzilla でとか、誰かが言ってたとか、いろいろです。

今回の sessionstore.js の件については、Dev ConGomita さんがそう言ってました。
その資料は xuldev.org :: プレゼン資料にあるようです。

作成者:  ヒラマサ [ 2008年6月24日(火) 18:14 ]
記事の件名:  Re: Firefoxで開いているURI一覧を、プログラム(VB等)で取得する方法

あ さんが書きました:
s/向学/後学/ でしょうか

はい、この場合「後学」が正しいかと。
「向学」は、勉学にはげむ、知性と技術を磨く
「後学」は、後日、役立つ知識や学問、後から進んでくる学者
他にも「好学」があります。
日本語って面白く、難しいですね、

あ さんが書きました:
試しにやってみるとか、ソースを見てみるとか、Bugzilla でとか、誰かが言ってたとか、いろいろです。

そうですか、だれでも簡単に真似できる芸当ではないですね。 O:)
これからも、アドバイスお願いします。

ページ 11 All times are UTC + 9 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/