ブラウザの表示を連続して更新するには?


nn  2007-06-12 13:15:08  No: 98961

VB2005を使っています。

あるホームページ内にある検索機能を連続で実行させたいのですが、
WebBrowser1.Refresh()を実行すると[再試行]ダイアログボックスが
表示されてしまいます。

そのHTMLソースは、
<form name="XXX" method="POST" action="/search">
となっているため、予想通りの動作だと思いますが、ScriptBrowserK
というブラウザのような自動更新機能ではダイアログボックスを
表示せずに更新を実現しています。

これと同様のことをVB2005で開発可能でしょうか?


mあ  2007-06-12 20:22:39  No: 98962

<html>
<head>
<script>
function onLoadFunc() {
  setTimeout(function() {
    document.forms[0].submit();
    location.reload();
  }, 2000);
}
</script>
</head>
<body onload="onLoadFunc()">
<form method="GET" action="">
<input type=hidden value="1" name="ok" />
</form>
</body>
</html>

こーゆーことではなくて??


mあ  2007-06-12 21:45:11  No: 98963

<html>
<head>
<script>
var timeoutSec = 1000 * 5;
function onLoadFunc() {
  var findList = ["兄貴", "弟", "姉妹", "兄弟", "義兄弟", "舎弟" ];
  var index = 0;
  setTimeout(function() {
  
    if (index < findList.length) {
      var item = findList[index];
      index += 1;
      document.forms[0].keyword.value = item;
      document.forms[0].btn[0].click();
      setTimeout(arguments.callee, timeoutSec);
    }
    else {
      alert(findList + " 終了");
      
    }
  }, timeoutSec); //timeoutSec 秒毎に更新する
}
</script>
</head>
<body onload="onLoadFunc()">
<!--//
  http://XXXXXXXXXXXXXXXXXX/i/x/search.php
  以下フォームはココから拝借(怒られちゃう。。。)
  作者の方申し訳ありません。m(__)m
//-->
    <form action="http://XXXXXXXXXXXXXX/i/x/search.php" target="_iframe">
    <p>
    <input type="hidden" name="typ" value="search">
    キーワード:<br>
    <input type="text" name="keyword" value="" maxlength="250"><br>
    <select name="engine">
    <option value="google">Google
    <option value="yahoo">Yahoo
    <option value="goo">goo
    <option value="jisho">辞書検索
    </select>
    <br>
    <input type="submit" name="btn" value=" 検索 ">
    <input type="submit" name="btn" value=" 保存 ">
    </p>
    </form>

<iframe name="_iframe" id="_iframe" width="640" height="250"></iframe>

</body>
</html>

又はこんな感じ。
自分自身をリロードではなくて枠の無い IFRAME にポストすることで
自身のリロードをやらないで画面の一部を更新する。自動更新なら、
フォームは隠しておいた方が良い。検索条件は?Ajaxやら、VBから
取得できるのかな?

検索エンジンの振分スクリプトを無断借用しています。
ですので、テストでご利用の際は注意してください。
よろしくお願いします。timeoutSec に 0.5 秒とか無理
な値を設定しないように。

携帯サイトらしいので無用な負荷が掛からないよう、アドレスを
伏せました。ご自分のテストサイト用のアドレスに書き換えた上
でコピペ・テストしてみてくださいね。

これを実行すると、
配列中の検索条件を元にIFRAME を5秒間隔で更新します。

で、あるサイトは、
(1)フォームを非表示
(2)IFRAME(枠なし)  又は  別フレーム(枠なし)へポスト
(3)定期実行処理部分はスクリプト
(4)検索条件は、Ajax で RSS 形式かなんかで取得

みたいなことをやっているのだと思いますね。
たぶん。


nn  2007-06-13 09:02:44  No: 98964

みなさん、ありがとうございます。

しかし、質問の仕方が悪かったようですね。
ホームページは私が作成したものではなく、インターネットに公開されて
いるサイトです。

例えば、社保庁のホームページで「サイト内検索」したとします。
http://www.sia.go.jp/

検索結果が出ている状態で、ブラウザの更新ボタンを押すと、
「このページを再表示するには...」というメッセージが表示されますが、
自動更新機能のあるブラウザ等を利用すると、このメッセージは表示され
ずにページ更新をすることができます。

この機能をVB2005で作成するにはどうしたら良いでしょうか?

よろしくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加