100分!!WebBrowser打印时,有安全提示,不能正常运行,怎么办?

bakerk 2004-08-12 02:23:14
在本机调试的时候(localhost/...)运行正常,但放到服务器上后再调用这个页面,就会出现如下提示:
该页上的Active X 控件不安全
当前安全设置禁止运行该页上的不安全控件。
因此可能无法正确显示该页。

这个控件不是IE自带的吗,怎么还会出现这个安全问题?

<OBJECT id="WebBrowser" height="0" width="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>
<input type="button" value="打印本页" onclick="document.all.WebBrowser.ExecWB(6,1)">
<input type="button" value="打印预览" onclick="document.all.WebBrowser.ExecWB(7,1)">

谢谢高人指点。

或者提供其他的Web直接打印的解决方案也可以。
...全文
457 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
bakerk 2004-09-21
  • 打赏
  • 举报
回复
直接用window.print()算了,呵呵
goody9807 2004-08-16
  • 打赏
  • 举报
回复
用CSS来实现打印
<HEAD>
<title>审批车辆资料打印</title>
<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
//这里定义一个样式
<style type="text/css"> @media Screen { .onlyPrint { DISPLAY: none }}
@media Print { .onlyShow { DISPLAY: none }///这个只显示不打印
.onlyPrint { PAGE-BREAK-BEFORE: always }///这个是打印不显示}
</style>
</HEAD>
用法:
<table>
<tr>
<td class=onlyShow>////这样就只显示不打印了!正好是你想要的
....................
</td>
</tr>
<tr>
<td>
</td class=onluPrint>////这样就只打印不显示!就是说在客户端的页面上看不到,但打印,打印是看的到!你试试!
.............................
</tr>
</table>


对於一个表格可以先设定整个表格的高度和宽度,然后在设定每一行的高度和宽度,如果子表格的高度大於总表格的
高度,那么设定整个表格的高度不起作用。
例如,一个叶面只有一个大表格,可以先按A4的29.7mm设定表格高度,再分别调每一行的高度即可。
bakerk 2004-08-16
  • 打赏
  • 举报
回复
to: qinson(梦之光)
第三方控件的方法好像也需要客户端下载相关的控件
xml的方法请详细说明好吗?或者给个例子。
goody9807 2004-08-14
  • 打赏
  • 举报
回复
“Internet选项”--“安全” 把级别调低些

因为你用了ActiveX控件 这种控件对于IE来说是不安全的 所以会提示
qinson 2004-08-14
  • 打赏
  • 举报
回复
在WEB上实现打印主要有以下几种方法:

1, 自定义控件完成打印

  2, 利用IE自带的WebBrowser控件实现打印(由于安全问题,现在可能用不了)

  3,利用第三方控件实现打印

4,利用XML(最好用,但要求水平较高)
hareqiqi 2004-08-13
  • 打赏
  • 举报
回复
不好意思,刚才用的是低版本的cab

下载了最新版本的cab文件,不需要客户端能上外网。
hareqiqi 2004-08-13
  • 打赏
  • 举报
回复
必须连接到外网才能使用,即使将cab下载到本机。

大家测试看看。
qinson 2004-08-13
  • 打赏
  • 举报
回复
<html>
<head>
<style type="text/css" media="print">
DIV.d1 { DISPLAY: none }
</style>
</head>
<body>
打印可以这样实现(仅作简单示例):
也可把那个CAB文件下载到本地服务器再引用它.<br>
在这里加入打印内容及控制分页............
<div class="d1">
<OBJECT id="MyPrinter" style="DISPLAY: none" codeBase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"

classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" viewastext>
</OBJECT>
<SCRIPT defer>
function window.onload() {
MyPrinter.printing.header = ""
MyPrinter.printing.footer = ""
MyPrinter.printing.portrait=true
MyPrinter.printing.leftMargin =5
MyPrinter.printing.topMargin = 5
MyPrinter.printing.rightMargin = 1
MyPrinter.printing.bottomMargin = 1
//MyPrinter.printing.paperSize="Letter"
}
</SCRIPT>
<input style="WIDTH: 87px; HEIGHT: 24px" onclick='document.execCommand("print")' type="button"

value="打印...">
<!-- <INPUT onclick=MyPrinter.printing.Print(false) type=button value=打印本頁> -->
<input name="button" type="button" onClick="MyPrinter.printing.PageSetup()" value="页面设置">
<INPUT onclick="MyPrinter.printing.Preview()" type="button" value="打印预览"> <br>

</div>
</body>
</html>
Jasonchen82 2004-08-13
  • 打赏
  • 举报
回复
IE中“工具”-Internet选项”-“安全”-“本地Intranet”-“自定义级别”-ActiveX控件设为“启用”
liuyong_lll 2004-08-13
  • 打赏
  • 举报
回复
ie 浏览器上点击“工具”--“Internet选项”--“安全”--“自定义级别”


我原来搞过这个东东
nishengqiang04 2004-08-13
  • 打赏
  • 举报
回复
关注!
qinson 2004-08-13
  • 打赏
  • 举报
回复
现在用WebBrowser不行了.好像里面有安全问题,MS把它禁掉了.

打印可以这样实现:

<style type="text/css" media="print">DIV.d1 { DISPLAY: none }

<div class="d1">
<OBJECT id="MyPrinter" style="DISPLAY: none" codeBase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360" classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" viewastext>
</OBJECT>
<SCRIPT defer>
function window.onload() {
MyPrinter.printing.header = ""
MyPrinter.printing.footer = ""
MyPrinter.printing.portrait=true
MyPrinter.printing.leftMargin =5
MyPrinter.printing.topMargin = 5
MyPrinter.printing.rightMargin = 1
MyPrinter.printing.bottomMargin = 1
//MyPrinter.printing.paperSize="Letter"
}
</SCRIPT>
<input style="WIDTH: 87px; HEIGHT: 24px" onclick='document.execCommand("print")' type="button" value="打印...">
<!-- <INPUT onclick=MyPrinter.printing.Print(false) type=button value=打印本頁> -->
<input name="button" type="button" onClick="MyPrinter.printing.PageSetup()" value="頁面設置">
<INPUT onclick="MyPrinter.printing.Preview()" type="button" value="打印預覽"> <br>

</div>

也可把那个CAB文件下载到本地服务器再引用它.
bakerk 2004-08-13
  • 打赏
  • 举报
回复
To hareqiqi(蓝兔子.NET): 刚才我测试了一下,新版本的scriptX中,如果不付费,则需要将客户端链接到meadroid的网站,并且询问用户是否信任这个插件,然后选择安装。
但这个过程也不是我希望的,如果用户不安装这个插件,则他不能打印。
还有没有其他好的方法呢?
bakerk 2004-08-13
  • 打赏
  • 举报
回复
服务器端是否需要安装相应的软件包?上面这段代码是对应低版本的?
xingdongfang 2004-08-12
  • 打赏
  • 举报
回复
把这个站点加入到信任站点中。
caaclxf 2004-08-12
  • 打赏
  • 举报
回复
关注呀,同样遇到这个问题
bakerk 2004-08-12
  • 打赏
  • 举报
回复
这个不是我一个人的问题,我问了其他人,都是不行的
对于改安全级别,我可以改,但是你不能要求网站的用户都修改这个呀!
暗石绿 2004-08-12
  • 打赏
  • 举报
回复
在 ie 浏览器上点击“工具”--“Internet选项”--“安全”--“自定义级别”

把里面的 ActiveX 控件启用了。
xzyan80 2004-08-12
  • 打赏
  • 举报
回复
up
songxuehui 2004-08-12
  • 打赏
  • 举报
回复
是不是你机器系统设置的问题啊
加载更多回复(1)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧