请教几个有关于csExWB的问题-弹出窗口不正常、屏蔽打印对话框以及为何跳出ActiveX提示等

时间:2022-02-25 21:02:55

<html>
  <script language="javascript">
  function nw()
  {
    var code = "<body onload=window.print()>xxx</body>"
    var newwin = window.open('', '', '');
    newwin.opener = null;
    newwin.document.write(code);
    newwin.document.close();
  }
  </script>
<body>
  <input type="button" value="Test" onclick="nw()"/>
</body>
</html>

以上代码,存为htm文件,在IE中应该能正常运行,效果是打开一个新窗口,改变其内容并打印
问题如下:
1、在csExWB中,只能打开新窗口,但新窗口中内容为空白
即newwin.document.write(code);这一句不起作用
请问该如何解决?
PS:csExWB正常的弹出窗口没有问题
弹出新窗口部分的代码:

        private void cEXWB_NewWindow3(object sender, csExWB.NewWindow3EventArgs e)
        {
                frmMain newform = new frmMain(); //新窗口与主窗体相同
                newform.Show();
                newform.AssignPopup(ref e.browser);
        }
        private void AssignPopup(ref object obj)
        {
            if (m_CurWB != null)
            {
                if (!m_CurWB.RegisterAsBrowser)
                    m_CurWB.RegisterAsBrowser = true;
                obj = m_CurWB.WebbrowserObject;
            }
        }

(基本就是原来的Demo代码,没怎么改)

2、这一部分是网页代码,在IE中能正常运作,且我无法改变,有没有可能使打印对话框不跳出而直接进行打印?

3、实际的网页上,点击按钮、弹出窗体过程中无任何提示,我用ExtendedBrowser做的另一个程序中也一切正常,没有提示,但是现在用csExWB时,会出现提示:
引用
在此页上的ActiveX控件和本页上的其他部分的交互可能不安全。你想允许这种交互吗?

必须将Internet选项中,安全-可信站点(相关网站我已设为可信站点)-自定义级别-ActiveX控件和插件-对未标记为可安全执行脚本的ActiceX控件初始化并执行脚本 设为启用(原为提示)才能使之不再跳出
请问为什么会发生这种变化,该如何避免

13 个解决方案

#1


1、你说的csExWB,是这个吗?
http://www.codeproject.com/KB/miscctrl/csEXWB.aspx

2、使打印对话框不跳出而直接进行打印?
参考:
http://topic.csdn.net/t/20050422/08/3957013.html
直接打印:
document.all.wb.ExecWB(6,6)


3、这个必须设置的,否则应该都会提示。

#2


引用 1 楼 computerfox 的回复:
1、你说的csExWB,是这个吗?
http://www.codeproject.com/KB/miscctrl/csEXWB.aspx

2、使打印对话框不跳出而直接进行打印?
参考:
http://topic.csdn.net/t/20050422/08/3957013.html
直接打印:
JScript code
document.all.wb.ExecWB(6,6)

……

1、是的,不过我用的是 v2.0

2、呃……这里没发现能用的内容啊
直接打印前,先要屏蔽掉自动跳出的打印对话框,这怎么做到?

3、但是IE和ExtendedBrowser都不需要设置啊?或许应该说,在这两者中,要么这个ActiveX控件是标记为安全的,或者,根本就没有ActiveX控件(javascript不太熟,但是我看了下网页源代码,里面似乎主要就是var code =....这些,没见到ActiveX的影子……),不明白为什么到了csExWB里就不一样了
同一个页面,而且都是人工点击的,没有自动操作的部分

#3


你为什么要用csExWB?

自定义浏览器吗?

#4


引用 3 楼 computerfox 的回复:
你为什么要用csExWB?

自定义浏览器吗?

对,进行一些自动化操作
原来用ExtendedBrowser的,但是跳出对话框无法处理,网上找的处理IDocHostShowUI.ShowMessage的代码不知道我哪里没写好,还是会经常跳出对话框来,发现csExWB可以较好得处理,就拿这个改写一下
我以前的问题:
http://topic.csdn.net/u/20090812/09/e8dc16ca-8055-475e-b8a6-15656dbb3033.html
http://topic.csdn.net/u/20090816/11/310a9287-59c2-443b-bc63-ebee4834ada5.html
http://topic.csdn.net/u/20090910/16/9354001d-ded1-4035-86a5-95debe6fabe4.html
里面有些问题已经算解决了,但是对话框还是时常跳出:(

#5


该回复于2010-08-05 10:45:53被版主删除

#6


ActiveX的那个对话框?贴一个图上来?

#7


引用 6 楼 computerfox 的回复:
ActiveX的那个对话框?贴一个图上来?

ActiveX的对话框就是
引用
在此页上的ActiveX控件和本页上的其他部分的交互可能不安全。你想允许这种交互吗?

这个。我现在截不到图
请教几个有关于csExWB的问题-弹出窗口不正常、屏蔽打印对话框以及为何跳出ActiveX提示等
类似这个,文字改一下

如果你问的是我上面说的时常跳出的对话框,那么:
不是指ActiveX的那个对话框,而是网页正常的提示信息,比如用户名密码错误、操作失败、操作完成之类信息,截图也没用……,本来在IDocHostShowUI.ShowMessage的事件里处理过之后照理不应该再跳出的,只是由于未知原因,有时还是会跳出,影响使用效果

#8


屏蔽打印框我只会在winform程序里面做过,web的不太清楚,帮顶。。。

#9


引用 8 楼 zyl_leilei 的回复:
屏蔽打印框我只会在winform程序里面做过,web的不太清楚,帮顶。。。

我这就是Winform啊

#10


请教几个有关于csExWB的问题-弹出窗口不正常、屏蔽打印对话框以及为何跳出ActiveX提示等

#11


补充一下,第一个问题,newwin.document.write(code);这句,发生ScriptError,内容是“拒绝访问。”

#12


再补充一下
csexwb2
这里下载的代码里有示例代码,用那个可以看到我的第一个问题(ScriptError可以看Log)

#13


问题1已解决,原因是新窗口创建时,创建浏览器的最后一步是wb.GoHome();
就是这一句导致了newwin.document.write的失败

#1


1、你说的csExWB,是这个吗?
http://www.codeproject.com/KB/miscctrl/csEXWB.aspx

2、使打印对话框不跳出而直接进行打印?
参考:
http://topic.csdn.net/t/20050422/08/3957013.html
直接打印:
document.all.wb.ExecWB(6,6)


3、这个必须设置的,否则应该都会提示。

#2


引用 1 楼 computerfox 的回复:
1、你说的csExWB,是这个吗?
http://www.codeproject.com/KB/miscctrl/csEXWB.aspx

2、使打印对话框不跳出而直接进行打印?
参考:
http://topic.csdn.net/t/20050422/08/3957013.html
直接打印:
JScript code
document.all.wb.ExecWB(6,6)

……

1、是的,不过我用的是 v2.0

2、呃……这里没发现能用的内容啊
直接打印前,先要屏蔽掉自动跳出的打印对话框,这怎么做到?

3、但是IE和ExtendedBrowser都不需要设置啊?或许应该说,在这两者中,要么这个ActiveX控件是标记为安全的,或者,根本就没有ActiveX控件(javascript不太熟,但是我看了下网页源代码,里面似乎主要就是var code =....这些,没见到ActiveX的影子……),不明白为什么到了csExWB里就不一样了
同一个页面,而且都是人工点击的,没有自动操作的部分

#3


你为什么要用csExWB?

自定义浏览器吗?

#4


引用 3 楼 computerfox 的回复:
你为什么要用csExWB?

自定义浏览器吗?

对,进行一些自动化操作
原来用ExtendedBrowser的,但是跳出对话框无法处理,网上找的处理IDocHostShowUI.ShowMessage的代码不知道我哪里没写好,还是会经常跳出对话框来,发现csExWB可以较好得处理,就拿这个改写一下
我以前的问题:
http://topic.csdn.net/u/20090812/09/e8dc16ca-8055-475e-b8a6-15656dbb3033.html
http://topic.csdn.net/u/20090816/11/310a9287-59c2-443b-bc63-ebee4834ada5.html
http://topic.csdn.net/u/20090910/16/9354001d-ded1-4035-86a5-95debe6fabe4.html
里面有些问题已经算解决了,但是对话框还是时常跳出:(

#5


该回复于2010-08-05 10:45:53被版主删除

#6


ActiveX的那个对话框?贴一个图上来?

#7


引用 6 楼 computerfox 的回复:
ActiveX的那个对话框?贴一个图上来?

ActiveX的对话框就是
引用
在此页上的ActiveX控件和本页上的其他部分的交互可能不安全。你想允许这种交互吗?

这个。我现在截不到图
请教几个有关于csExWB的问题-弹出窗口不正常、屏蔽打印对话框以及为何跳出ActiveX提示等
类似这个,文字改一下

如果你问的是我上面说的时常跳出的对话框,那么:
不是指ActiveX的那个对话框,而是网页正常的提示信息,比如用户名密码错误、操作失败、操作完成之类信息,截图也没用……,本来在IDocHostShowUI.ShowMessage的事件里处理过之后照理不应该再跳出的,只是由于未知原因,有时还是会跳出,影响使用效果

#8


屏蔽打印框我只会在winform程序里面做过,web的不太清楚,帮顶。。。

#9


引用 8 楼 zyl_leilei 的回复:
屏蔽打印框我只会在winform程序里面做过,web的不太清楚,帮顶。。。

我这就是Winform啊

#10


请教几个有关于csExWB的问题-弹出窗口不正常、屏蔽打印对话框以及为何跳出ActiveX提示等

#11


补充一下,第一个问题,newwin.document.write(code);这句,发生ScriptError,内容是“拒绝访问。”

#12


再补充一下
csexwb2
这里下载的代码里有示例代码,用那个可以看到我的第一个问题(ScriptError可以看Log)

#13


问题1已解决,原因是新窗口创建时,创建浏览器的最后一步是wb.GoHome();
就是这一句导致了newwin.document.write的失败