如题,现在我自己用C#和.Net的WebBrowser控件写了个浏览器,但现在发现我写的浏览器在打开含有showModalDialog的页面时,显示的是微软IE的窗体,而不是我自己写的浏览器。请问有什么方法可以在我自己写的浏览器中打开showModalDialog的窗体?
含有showModalDialog的页面如下:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
</head>
<body>
<script type="text/javascript">
<!--
function foo()
{
window.showModalDialog("http://www.google.cn", window, "Width:320px;Height:240px");
}
-->
</script>
<button onclick="foo()">OK</button>
</body>
</html>
我希望打开www.google.cn的是我自己的浏览器,而不是IE,请高手指点
含有showModalDialog的页面如下:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
</head>
<body>
<script type="text/javascript">
<!--
function foo()
{
window.showModalDialog("http://www.google.cn", window, "Width:320px;Height:240px");
}
-->
</script>
<button onclick="foo()">OK</button>
</body>
</html>
我希望打开www.google.cn的是我自己的浏览器,而不是IE,请高手指点
解决方案 »
- 请问如何实时监控变量值的变化?
- 如何判断鼠标在某一区域
- 我用C#在Excel中画了一个矩形,可无法把它修改为想要的颜色?
- vs2008中COM组件Window Media player和Shockwave Flash Object问题
- c# winform 用panel和toolsprit组合控件的问题?
- 关于Request.Form的用法??
- 我想工作
- C# 线程钩子,我也都类成员引用委托了,为什么用的时候还是CallbackOnCollectedDelegate错误?
- c++和c#中的switch的区别怎么解决
- 给个调用存储过程的例子,谢了
- 请问listbox的选中状态可以改变吗?
- .NET2003 DataGrid的TableStyle
修改注册表,把默认的游览器改为你的
一:打开注册表。
“开始”菜单->“运行”->输入 regedit 然后点确定。
二:打开HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\INTERNET EXPLORER,在其下新建一个主键"View Source Editor",在其下再新一个主键"Editor Name",又击右侧窗口中的"默认"将数值设为更换程序的路径及文件名. 三:重新启动INTERNET EXPLORER,查看某个网页的源文件,用户就会发现打开的程序已经更改了.
是要用自定义的浏览器打开模式对话框~
PS:我写的WebBrowser是在另一个主程序里的,不是独立的浏览器我现在的想法是直接改IE的底层COM组件,不知道有人有这方面经验么?
重载的方法,最简单的就是用IHTMLDocument.script得到脚本引擎的handle
执行一段js,类似这样:
window.showModalDialog=function()
{
window.external.xxxx();//参看IDocHostUIHandler::GetExternal
}