在TWebBrowser中屏蔽Scripts所弹出的对对话框(200分)

  • 主题发起人 主题发起人 zuping
  • 开始时间 开始时间
Z

zuping

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在TWebBrowser中屏蔽Scripts所弹出的对对话框,或者是在对话框弹出后如何将其关闭(最好不要用SendKey一类的方法)?

试 了 不少方法

silent=true,好像不能屏蔽

有文章介绍用 IDocHostSHowUI::OnShowMessage
怎么实现??
 
没有人??
 
创建一个线程,然后GetForgroundWindow,PostMessage(Handle, WM_CLOSE,0, 0);
 
TEmbeddedWB
http://www.bsalsa.com
 
以下是弹窗的脚本,一般的 alert 都是可以屏蔽了
弹出的是标题是 XXXXX 网页对话框 的窗口
========================================================
// 关窗
<!--
var nid=0;
var tid=431;
var mid=947;
var full=1;
var popDialogOptions = "dialogWidth:1024px; dialogHeight:700px; dialogTop:0px; dialogLeft:0px; edge:Raised; center:0; help:0; resizable:1; scroll:1; status:0";
var popWindowOptions = "scrollbars=1,menubar=0,toolbar=0,location=0,personalbar=0,status=0,resizable=1";
var doexit = true;
var usePopDialog = true;
var isUsingSpecial = false;

function loadpopups(){
if(doexit &amp;&amp; !isUsingSpecial) {
doexit = false;
window.open(popURL1,"",popWindowOptions);
}
}

var isXPSP2 = false;
var u = "6BF52A52-394A-11D3-B153-00C04F79FAA6";

//--------------------------------------------------------------------------------

var str_url;
str_url = window.location.search;


function ext()
{
if(doexit)
{
doexit=false;

if(!isXPSP2 &amp;&amp; !usePopDialog)
{
window.open(popURL1,"",popWindowOptions);
}
else if(!isXPSP2 &amp;&amp; usePopDialog)
{
eval("window.showModalDialog(popURL1,'',popDialogOptions)");
}
else
{
iie.launchURL(popURL1);
}
}
}

//--------------------------------------------------------------------------------

function brs()
{
document.body.innerHTML+="<object id=iie width=0 height=0 classid='CLSID:"+u+"'></object>";
}

//--------------------------------------------------------------------------------

function ver()
{
isXPSP2 = (window.navigator.userAgent.indexOf("SV1") != -1);
if(isXPSP2) brs();
}

//--------------------------------------------------------------------------------
var popURL1 = 'http://www.433833.com/';

isUsingSpecial = true;

if (str_url.indexOf("2005")!=-1 ||str_url.indexOf("2006")!=-1 ||str_url.indexOf("2007")!=-1)
{
}
else
{
eval("window.attachEvent('onload',ver);");
eval("window.attachEvent('onunload',ext);");
}

//--------------------------------------------------------------------------------
//-->
 
记得当年我也遇到过这个问题,几乎让我崩溃了。。。
最后我采用的方法是开一个线程来扫描,findwindow就关闭。
发现IE真是烂的不行,内存泄露会让你崩溃的
 
后退
顶部