OCX在IE10上能正常加载,在IE8上出现崩溃解决思路

###OCX在IE10上能正常加载,在IE8上出现崩溃解决思路javascript

  • 若是对你有用请给个赞

背景

最初开发的时候是在ie8上开发的,可是在中途开发出现了ie8崩溃,因项目紧就用ie10开发了。css

分析过程

  • 1:单页版的ocxtest.html 是否能够
  • 2: ocxtest.html放在tomcat下是否能够
  • 3:ocxtest.jsp 放在tomcat下是否能够
  • 4:用controller跳转到ocxtext.jsp是否能够
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Test ActiveX</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">

<script language='javascript' for=SMNOCX event=NotificationWebPage>
	fun2(arguments[0])
</script>
<script language="javascript">
		function startLook() {
			alert("");
			document.getElementById("SMNOCX").setNetServerInfo(
					'61000000002000000236', '192.168.21.248', 8888, '12501');
			document.getElementById("SMNOCX").setSipInfo(216,
					'61000000001320000001', '192.168.21.248', 12501,
					'61000000002000000236');
		}
	</script>
</head>
<body>
	<div style="width:; height: ; margin-top:200px; margin-left: 300px; margin-right: auto;border: solid 10px #000;display:block;position:absolute" >
		<div>
			<OBJECT ID="SMNOCX" WIDTH=900px HEIGHT=700px
				classid="CLSID:FF32E4A7-502F-4DC8-B3A9-1A4542734A93">
				<PARAM NAME="_Version" VALUE="65536">
				<PARAM NAME="_ExtentX" VALUE="12806">
				<PARAM NAME="_ExtentY" VALUE="1747">
				<PARAM NAME="_StockProps" VALUE="0">
			</OBJECT>
		</div>
	</div>
	<div style="width:; height: ; margin-top:900px; margin-left: 300px; margin-right: auto;border: solid 10px #000;display:block;position:absolute">
		<div>
			<button width=200 height=100
				style="margin-left: auto margin-right:auto" onClick="startLook()">
				一键预览</button>
		</div>
	</div>
</body>
</HTML>

分析结果

以上四点均可以,我记得用vs2010打开ocx经过打印日志查看,一直认为是页面加载ocx时,出现 在此函数int CSMNOcxCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) 进不去该函数里面去 一直觉得是ocx,直到我最后问题解决以前也是这么认为的,可是人家就说单页好着为啥会放到你的服务器就有问题了,我只能表示我也解释不通,只有继续去排查以上四个问题,结果发现真的这四个放在页面上都没有问题,我想是否是个人加载页面indexocx.jsp 哪里语法有问题,我开始狂删东西,什么js,css,无用的都干掉,对比正确的ocxtest.jsp 最后终于发现bug的源头 原来indexocx.jsp 因出现了<head>......<head>......</head>标签致使问题,删除多余的head后就行了,查资料是由于ie8下不支持该错误语法。因此必定要语法规范化。html

总结

仍是那句老话,碰到bug千万别惧怕,这个时候正是证实你的时候了,其实bug就是躲在很不起眼的地方,要有耐心,恒心,和自信心 最后代码必定要规范化,该重构就要重构,真是血的教训java

若是以为对你有帮助,给个赞,tomcat

QQ交流群:186392304(已满)请加QQ群:181666459服务器

相关文章
相关标签/搜索