― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

返信する
ユーザー名:
件名:
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: ON
BBCode を無効にする
フォントサイズ:
フォントカラー
スマイリーを無効にする
URL を自動的にパースしない
ユーザエージェントを表示する
認証コード
KCaptcha by Nikita_Sp
   

トピックのレビュー - 指定したURLを表示→読み込み後のdocumentを処理したい
作成者 メッセージ
  記事の件名:  Re: 指定したURLを表示→読み込み後のdocumentを処理したい  引用付きで返信する
返信ありがとうございます。
なるほど、読み込み完了のイベントをトリガにして処理を進めていけば良かったのですね。
仰るとおり、2に関してはこれでいけそうです。

引用:
4 に関しても、submit 前後で removeEventListener して、再度 addEventListener かな、と思いますが、こちらは自信ありません。
ご参考になれば幸いです。


とりあえず適当なテストページで試してみたら、見事に動作しました。
addEventListenerで呼ばれた関数内でとりあえずremoveEventListerしておき、
次に3の処理(フォーム記入~submit)、
そして再度addEventListenerで5(読み込み後のリンク検索)を という順番で動作しました。
手順が増えてもaddEventListenerにリレーさせていくような感じでやればよさそうです。

ありがとうございました。
投稿記事 Posted: 2009年5月06日(水) 08:02
  記事の件名:  Re: 指定したURLを表示→読み込み後のdocumentを処理したい  引用付きで返信する
sarasate さんが書きました:
2,4の「読込みを待つ」もしくは「読込み後のdocumentを取得する」をどのように実現したらいいのかわかりません。

私もここいら辺を試行錯誤中ですので、とりあえずわかる範囲で失礼します。

少なくとも 2 に関しては、addEventListener を使用するのがよろしいかと。

コード:
var newTab = gBrowser.getBrowserForTab(gBrowser.addTab("http://www.google.com/"));
newTab.addEventListener("load", myFunction, true);

タブブラウザ用コード - MDC より一部改変)

4 に関しても、submit 前後で removeEventListener して、再度 addEventListener かな、と思いますが、こちらは自信ありません。
ご参考になれば幸いです。
投稿記事 Posted: 2009年5月05日(火) 17:55
  記事の件名:  指定したURLを表示→読み込み後のdocumentを処理したい  引用付きで返信する
javascriptも知らない状態からとりあえず手探りで自分用のアドオンを作成しています。
環境は
Firefox 3.0.10
Windows XP SP3
です。
機能としては、右クリックメニュー等から実行してブラウザを自動操作するようなものです。
簡単に流れを書くと、

1.指定したwebページを表示

2.読み込み完了まで待つ

3.webページのフォームに記入してsubmit
コード:
var inp = window.content.document.getElementsByTagName("input");
inp[0].value = "C:\\hogehoge.txt";
window.content.document.forms[0].submit();


4.読み込み完了まで待つ

5.読込み完了したらそのdocumentのリンクを検索

というような感じです。
1,3,5はなんとかいけそうなのですが
2,4の「読込みを待つ」もしくは「読込み後のdocumentを取得する」をどのように実現したらいいのかわかりません。
vbscriptからIEを操作して似たような事する場合は

コード:
Set objIE = WScript.CreateObject("InternetExplorer.Application")
objIE.Navigate "http://hogehoge.com"
Do While objIE.Busy '読み込みが終わるまで待機
   WScript.Sleep 100
Loop
読込み後の処理

のような感じで実現できたので、これと同じような事ができればいいのかと思っているのですが…
それとももっと違うアプローチで実現させるべきものなのでしょうか
投稿記事 Posted: 2009年5月03日(日) 08:08

All times are UTC + 9 hours


ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean