IE5的中科软寿险核心系统改造为支持chrome

本文探讨了如何将frameset和frame结构转换为div和iframe,并强调了在Chrome开发者工具下处理JavaScript问题的方法。内容涉及修改window.frames到window.frames[]、处理iframe内函数调用、去除不必要的字符串操作、调整CSS属性及事件处理,以及适应不同浏览器的DOM操作和Ajax请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

html方面的修改
frameset + frame 改为 div + iframe
在这里插入图片描述
在这里插入图片描述
要始终允许

javascript方面的修改
(通过chrome的开发者工具js方面的问题都可以console.log + debug 解决)

  1. 可能是由于frame改为iframe
    window.frames(“meizzCalendarIframe”); 改为window.frames[“meizzCalendarIframe”]; 同理 frams(数字) 改为frame[数字] / 调用某个frame里的函数从 parent.fraInterface.xxx( 改为parent.fraInterface.contentWindow.xxx(

  2. 去掉往类里加的函数 function String.prototype.trim(){return this.replace(/(^\s*)|(\s*$)/g,"");}
    string已经又trim函数了, 这个语法也不支持,直接删掉

  3. js中取出css样式的方式this.style.removeAttribute(‘backgroundColor’); 改为
    this.style.backgroundColor = “”;

  4. 获取上个页面的值的方式在这里插入图片描述

  5. 获取frame的名字 frame.name 改为 frame.id

  6. new ActiveXObject(“Microsoft.XMLHTTP”) 改为ajax请求 如下等价替换.类似的还有arrCode = window.showModalDialog(urlStr, “”, sFeatures) 获取后台返回.同理

$.ajax({
	type : 'GET',
	url : '../common/jsp/CodeQueryXML.jsp',
	async: false,// 不使用异步
	data : urlParaStr , 
			
	dataType : 'text',
	success : function(data) {
		strQueryResult = data;
	}
});
  1. 移除dom属性的方式
$this.attr("disabled","") 改为$this.removeAttr("disabled");
  1. 获取dom的方式 formName.all() 改为 document.all() .ie支持仅有name属性没有id属性的dom通过document.getElementById来获取. chrome不支持,需要老实写getElementsByName (xx)[0]
  2. window.showModelessDialog 改为window.open
  3. showModalDialog 改为window.open (open不是模式但先不处理)
  4. mztreeview 这个菜单插件,菜单超链接里的target属性 是指向某个frame的,所以iframe的情况下要处理超链接的onclick事件, onclick如果retrun false了,就不会访问 href,利用这个特性 在某个iframe中打开链接. 实现点击菜单某个iframe打开页面的功能 <a style="vertical-align: middle; height: 24px; line-height: 24px; color: rgb(255, 255, 255); background-color: rgb(0, 51, 204);" name="91155" class="MzTreeview" hidefocus="" id="MenuTree_link_25" href="../entry/DebitNotesHeXiaoInput.jsp" target="fraInterface" title="入保财务核销" onfocus="MenuTree.focusLink('25')" onclick=" if( MenuTree.nodeClick('25')) {parent.fraInterface.src=this.href; } return false;">入保财务核销</a> 这个代码的onclick非常精妙.

css方面的修改
在这里插入图片描述
开发者工具中. css可以随意勾选,非常方便, 可以很容易看到padding这个元素是要去掉的

  1. css中所有的behavior属性都要去掉 .htc文件中的功能通过js+html来实现
  2. text-decoration 的值改为none ,属性padding,margin去掉
  3. 表格宽度的问题, ie中设定< td >中的元素的width,就可以控制td的宽度,chrome中不行, 需要直接给td设置width
第一部分 虚拟化与云计算概念 第一天(上午) 主题 基本概念 大纲 l 虚拟化概论 l 虚拟化的关键技术 l 虚拟化的业界动态 l 云计算概论 l 云计算架构 l 云计算的关键技术与挑战 l 云计算的典型厂商的技术架构介绍 第二部分 XEN/KVM虚拟化技术 第一天(下午)~第二天(上午) 主题 虚拟化技术 大纲 l Xen的原理与实现 l Xen的安装 l Xen的配置和管理工具 l 虚拟操作系统的文件存储系统 l 常见问题处理 l 试验:XEN使用 l KVM的原理与实现 l 试验:KVM使用 第三部分 开源云计算平台部署 第二天(下午)~第四天 主题 Eucalyptus云计算系统实践 大纲 l Eucalyptus平台简介 l Eucalyptus部署及管理 n ◦Installing Eucalyptus (from source and binary packages) n ◦Eucalyptus configuration n ◦Hypervisor configuration n ◦Network configuration (networking modes, multi-cluster networking) n ◦Managing Eucalyptus n ◦Advanced networking and security n ◦Auto-scaling n ◦Hybrid clouds ("cloud bursting") n ◦Troubleshooting l Eucalyptus操作 n ◦Account creation n ◦Obtaining and using credentials n ◦Instance Management: n ◦Listing, running, and terminating instances n ◦Accessing and using instances n ◦Using Elasticfox n ◦Image Management (bundling, uploading and registering images) n ◦Networking and security (allocating and associating IP addresses, security groups) n ◦Storage Management: Using block storage via the Storage Controller (creating volumes, creating snapshots, creating volumes from snapshots) n ◦Using put-get bucket storage via Walrus l 试验:部署Eucalyptus,建立私有云计算平台。 l 试验:发布镜像
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值