如何解决webBrowser新开页面问题?
问题:
页面中的链接target=_blank 或 window.open()引起的页面新开,直接就用ie打开了,我想就在当前webBrowser中显示新页。
如何解决?令,如果是ie新开,新开页面会丢失Session吗?
谢谢!分不够,再加!在线等!!!
问题:
页面中的链接target=_blank 或 window.open()引起的页面新开,直接就用ie打开了,我想就在当前webBrowser中显示新页。
如何解决?令,如果是ie新开,新开页面会丢失Session吗?
谢谢!分不够,再加!在线等!!!
解决方案 »
- 1、求a、b、c最大值的程序代码,2、如何一次连续接收并赋值给多个变量
- 求一正则表达式
- 请问:在客户端代码中怎样引入jQuery文件
- datagridview交换行数据
- 我想写个软件能记录键盘一天敲击次数,请问有办法吗,winform的
- 编译通不过,请帮我看看!
- <img src='image/<%# DataBinder.Eval(Container.DataItem,"图片") %>'>为什么老是显示不出图片??
- 在windows界面的创建对象的代码在哪里写呀
- 郁闷,想把MSDE合并到我的安装包里,可总有几个MSM包找不到依赖项
- DataGrid1中嵌套了一个子DataGrid2,这个DataGrid2怎么分页?
- axWebbrowser控件 操作 Excel问题
- 请教!如何C# 正则表达式,分割字符串?
strScript += "<script language=\"javascript\">\n";
strScript += "window.open('aaa.aspx','新窗口,\"toolbar=yes,location=no,directories=yes,status=yes,menubar=yes,resizable=yes,scrollbars=yes\");\n";
strScript += "location.href='index.html';";
strScript += "</script>";网上抄的 不知道好用不
截取e.Url,然后将e.Cancel设为true以取消操作,然后将webbrowser直接导航至Url
http://www.codeproject.com/KB/miscctrl/csEXWB.aspx有newwindow事件
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
http://feiyun0112.cnblogs.com/
('aaa.aspx','新窗口,\"toolbar=yes,location=no,directories=yes,
status=yes,menubar=yes,resizable=yes,scrollbars=yes\");
procedure TForm1.wbBrowserNewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
try
if Assigned(frmWB) then
freeAndNil(frmWB);
frmWB := TfrmOpenWb.Create(self);
frmWB.Visible:=true;
ppDisp := frmWB.WebBrowser1.ControlInterface;
Cancel:=false;
except
end;
end;
{
e.Cancel = true;
webBrowser.Navigate(webBrowser.Document.ActiveElement.GetAttribute("href"));
}
2.新窗口中,session不会丢失
{
e.Cancel = true; //取消使用系统的IE打开超链接
form2.webBrowser1.Navigate((sender as WebBrowser).Document.ActiveElement.GetAttribute("href"));
//form2是自己设计的含有webBrowser1控件的窗体,参数就是你点击的超链接的字符串URL
}
我用SHDocVw.WebBrowser_V1的NewWindow 解决了谢谢!
//禁用目标window的confirm、alert等对话框。
private void disableConfirm()
{
HtmlDocument doc = webBrowser1.Document.Window.Frames["mainFrame"].Document;
//框架结构中,必须正确的指定目标框架 IHTMLWindow2 win = (IHTMLWindow2)doc.Window.DomWindow; string s = @"function confirm() {";
s += @"return true;";
s += @"}"; s += @"function alert() {}"; win.execScript(s, "javascript"); }
这个方法是自己写confirm alert方法把原文档的方法替换掉的方式
private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
IHTMLWindow2 win = (IHTMLWindow2)webBrowser1.Document.Window.DomWindow;
string s = "window.alert = null;\r\nwindow.confirm = null;\r\nwindow.open = null;\r\nwindow.showModalDialog = null;";
win.execScript(s, "javascript");
}