いつもお世話になっています。
特定サイトのポップアップをプロテクトできなくて困っています。
下記のサイトを参考にタブブラウザを作成してみましたが(環境:Windows xp sp2 Delphi 6 Personal、TWebBrowser)、
http://delphi.sakura.vg/index2.html
変なポップアップを阻止できなくて困っています。
Delphiでプログラミングをしている者にとっては、大変お世話になっているサイト[Dlphi World]
http://www.delphianworld.com/
をNavigateすると「夢の実現」という画面に何も表示しないポップアップ画面が表示されます。
いろいろ試しましたがポップアップをブロックできません。
ちなみに最新のIEでは、ツールでプロテクト設定しておけば[中]で通常のポップアップはプロテクトしています。
これは特別なのか?情報バーでプロテクトを通報しています。
過去ログにhttps://www.petitmonte.com/bbs/answers?question_id=2859
がありますが肝心な回答がありません。
御指導願えればありがたいです。m(_ _)m
全てのポップアップをブロックするなら
procedure TForm1.WebBrowser1NewWindow2(ASender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
begin
Cancel := true;
end;
自己レスです。
なにか大変みたいなので、今後の課題とします。
のでこの件は解決とさせて頂きます。
えーとね 様御指導ありがとうございました。
Cancel := true;
を試しましたところ、完璧にプロテクトしてくれました。が
通常のページのリンクを右クリックで「新しいウィンドウで開く」も効かなくなりました。
それではと、このようなポップアップと画面のリンクを右クリックする違いは何かと考えて「マウスクリック」するかしないかの違いがあると考えWebBrowserのオプションを探しましたが見つからないため、TWebBrowserの完全互換のTEmbeddedWBというのがあるとどこかで見たことがあるため下記のページを見つけました。
EmbeddedWB1.ShowNewsClientとこれではないかと
http://www.bsalsa.com/intro.html
のTEmbeddedWB
http://www.bsalsa.com/downloads.html
Embedded Web Browser Componets Package ダウンロードしてインストールしてWebBrowserとばっさり入れ替えたら、殆ど手直しすることなく動きました。
早速試してみましたが、なんと[Dlphi World]のポップアップも画面クリックしたことになっているようで、切り分けができませんでした。
たくさんのイベント、プロパティがあるのですが能力不足で解決できませんでした。引き続き頑張ってみます。なにかヒントがありましたらまた教えて下さい。
ありがとうございました。
情報バーのような物を出して、ウィンドウを表示するかどうかは
ユーザーが決めるようにすれば簡単だと思います。
えーとねさん、ご教授ありがとうございます。
IEも情報バーを表示させていますね。
何か使いやすいように工夫してみます。
ありがとうございました。