「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@495) [中] [解決]
@495■ (#1550) 完了した時と文章完了した時のタイミング。 - FON (2010-03-24 08:46) /中 未処理
【症状】
度々すみません。
完了した時の後、文章完了した時が呼ばれるページが殆どなのですが、
バグ対処前、ダイアログエラーが出たページにアクセスしたところ、
文章完了した時の後にまた完了した時が呼ばれてしまっているようです。
仕様なら仕方がないのですが……。

【再現方法】
B_1をブラウザとして作成
B_1のレイアウトは全体
その禁止項目=「ダイアログ」
その新窓開いた時は~Ivent_Open_NewWin
そのURL=「http://www.nicovideo.jp/watch/sm9
その完了した時は~Ivent_Browser_Complete_Navigate
その文書完了した時は~Ivent_Browser_Complete_Loading

●Ivent_Browser_Complete_Navigate
  母艦は「Test_Browser - Loading....」

●Ivent_Browser_Complete_Loading
  母艦はTest_Browser
  Decide_Tabtitle_B=Test_Browserのタイトル取得
  もし、それ=空ならば
    (B_1のテキストをSJIS変換)を「<(title)>(.*)<\/\1>」で正規表現マッチ。
    それの「<title>」を空に置換。
    それの「</title>」を空に置換。
    もし、それ=空ならば
      (B_1のテキストをSJIS変換)を「<(TITLE)>(.*)<\/\1>」で正規表現マッチ。
      それの「<TITLE>」を空に置換。
      それの「</TITLE>」を空に置換。
  母艦は「Test_Browser - {それ}」

【要望】
複数回の呼び出しを抑制してほしい。

【バージョン】
1.5327 +(r231)(@471)

【その他】
使わせて頂いている身であまり言えませんが、
InternetExplorerのバージョンアップが7、8と矢継ぎ早にあったので、
コンポーネントも規模が大きい更新をしなくてはいけない気がします。

(#1551) なでしこの問題ではなく・・・ - ばびぶべぼん (2010-03-24 19:25) /中 未処理
「完了した時」「文書完了した時」というイベントはページ単位で発生するわけではなく、
JavaScript等を使用したAjaxや、iframeなどでロードする際にも発生します。
つまり、文書完了とはそのページを完全にロードし終わったわけではないんですね。

複数回のイベントを抑制するために、私は以下のようにURLの重複をチェックして回避しています。
非常に簡易的ですが、始めの文書完了イベントのみ通るようにしています。

#ここから
Aブラウザとはブラウザ
その文書完了した時は~
 もし、(MAE=AブラウザのURL)ならば、//重複防止
  戻る
 違えば、
  「文書完了」という。
  MAE=AブラウザのURL
#ここまで

また、IEコンポーネントについては、以下のURLを参照下さい。
http://www.sleipnir-wiki.jp/index.php?IE%20%A4%C8%20IE%20%A5%B3%A5%F3%A5%DD%A1%BC%A5%CD%A5%F3%A5%C8%20%A4%CE%B0%E3%A4%A4
よって、IEコンポーネントはユーザーの環境に依存します。

(#1552) 了解です - FON (2010-03-25 05:08) /中 解決
アドバイスありがとうございます。

コンポーネントについてまたしっかり調べようと思います。

(#1550)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能