项目中遇到的问题:关系图组件兼容性问题解决

1.   问题背景

在开发“客户群成员关系图”功能时,用到了关系图组件MxClient库,在开发过程中,发现该组件在IE8及IE9下有兼容性问题:不能展示图形节点的背景图及样式、不能展示关系图之间的连接线。在IE8兼容模式下、在IE6及IE7下都能正常展示,在IE8标准模式及IE9标准模式下,都不能正常展示。

2.   问题现象

不能正常展示的现象如果下图所示:

3.   问题原因

在排查原因的过程中,发现同样的关系图展示代码,在另外的模块(客户族群管理),能够正常展示关系图数据,由此判断关系图使用的组件库虽有兼容性问题,但此问题是可以解决的。经过多次排查和代码比较,最终发现原因是在JSP文件中,缺少“文档类型定义”引起的。y

4.   解决办法

在JSP页面文件的最前面,增加文档类型定义声明,增加这行代码:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,经验证,关系图组件库,支持文档类型定义“Strict、Transitional、Frameset”中的“Transitional、Frameset”,不支持“Strict”。增加的一行代码如下图所示:

5.   问题解决后的效果

6.   附注:文档类型定义

HTML

HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。

HTML Strict DTD

如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "
http://www.w3.org/TR/html4/strict.dtd">

HTML Transitional DTD

Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 HTML 的呈现特性时,请使用此类型:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">

Frameset DTD

Frameset DTD 应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "
http://www.w3.org/TR/html4/frameset.dtd">
时间: 2024-10-08 19:35:24

项目中遇到的问题:关系图组件兼容性问题解决的相关文章

Vue-Router路由Vue-CLI脚手架和模块化开发 之 在单文件组件项目中定义数据、方法和组件之间的相互引用

定义数据 根据上一篇博文配置项目的结构的基础上继续进行优化: 在app.vue中的导出模块/组件部分设置其属性: export default{//导出模块/组件 data(){ return{ name:'perfect', count:0 } }, 在一个template标签中进行调用: <template> <div> <h2> 欢迎来到perfect*的博客园!!!</h2> <h3>{{name}}</h3> </te

vue项目中echarts实现K线图

背景介绍: vue项目,区块链,需要写比特币和其他币种涨幅的K线图 一.安装依赖 npm install echarts -S 二.引入 import echarts from 'echarts' Vue.prototype.$echarts = echarts 三.html 四.初始化echarts 以上配置项option直接从echarts官网复制即可 五.调用初始化echarts函数 致此,静态的K线图已经形成了,在这个项目中,我们需要每0.5s就向后台发请求, 请求K线数据,由于请求数据

sql 2008 中不能创建数据库关系图

执行以下命令: ALTER AUTHORIZATION ON DATABASE::[databasename] TO sa [databasename] 为数据库名: 此方法借鉴于<老高>的新浪博客  原文链接:http://blog.sina.com.cn/s/blog_9df8c70b0101pin5.html

rem的在vue项目中使用配置,,浏览器的兼容性之Mate标签

在vue中配置rem 位置:在APP.vue的script中,在export default之外 (()=>{ let winW = document.documentElement.clientWidth, desW = 1440, htmlFont = winW / desW * 100; window.htmlFont = htmlFont; document.documentElement.style.fontSize = htmlFont + 'px'; })() 浏览器的兼容性之Ma

在基于MVC的Web项目中使用Web API和直接连接两种方式混合式接入

在我之前介绍的混合式开发框架中,其界面是基于Winform的实现方式,后台使用Web API.WCF服务以及直接连接数据库的几种方式混合式接入,在Web项目中我们也可以采用这种方式实现混合式的接入方式,虽然Web API或者WCF方式的调用,相对直接连接数据库方式,响应效率上略差一些,不过扩展性强,也可以调动更多的设备接入,包括移动应用接入,网站接入,Winfrom客户端接入,这样可以使得服务逻辑相对独立,负责提供接口即可.这种方式中最有代表性的就是当前Web API的广泛应用,促进了各个接入端

在MyEclipse中设计一个实体关系图

ER-Designer提供了大量的工具以及功能,来帮助您创建.重组和自定义ER图,同时它还能将ER图以JPEG格式导出.在本教程中,您将学习到: 从数据库中逆向获取的实体关系图(ERD) 在ER图中使用表数据 路由表关系 查找表 导出ER图保存将其为JPEG图像 持续时间:10分钟 没有MyEclipse?立即下载 1. 从数据库中创建实体关系(ER)图 本节我们为大家演示如何从现有的数据库中创建ERD,所给出的示例使用了Oracle 9i的人力资源(HR)示例数据库. (1)选择Window>

对照层关系图验证代码

  包括要在验证期间分析的特定程序集或项目在 “解决方案资源管理器”中,右击建模项目或 “层引用”文件夹,然后单击 “添加引用”.    在 “添加引用”对话框中,选择所需程序集或项目,然后单击 “确定”.    随时手动验证代码从打开的层关系图中验证代码 右击关系图图面,再单击 “验证体系结构”.     说明  默认情况下,层关系图 (.layerdiagram) 文件的 “生成操作”属性设置为 “验证”,以便在验证过程中包括关系图.       “错误列表”窗口会报告发生的任何错误. 有关

如何:生成 C 和 C++ 代码的依赖项关系图

Visual Studio 2010 1(共 1)对本文的评价是有帮助 - 评价此主题 利用此 Visual Studio 2010 功能包,可以通过在 Visual Studio 2010 旗舰版中生成依赖项关系图来可视化 C 和 C++ 代码中的组织和关系. 使用这些关系图可帮助您浏览.了解和管理源代码中.二进制文件之间以及源文件和标头文件之间的依赖项. 例如,您能够可视化二进制文件.命名空间和类之间的依赖项. 关系图将代码元素及其关系表示为一组由链接或边缘连接的节点. 有关更多信息,请参见

Android中适用于ListView、GridView等组件的通用Adapter

今天随便逛逛CSDN,看到主页上推荐了一篇文章Android 快速开发系列 打造万能的ListView GridView 适配器,刚好这两天写项目自己也封装了类似的CommonAdapter,以前也在github上看到过这样的库,于是自己也把自己的代码再次整理出来与大家分享,也希望能够在CSDN这个平台上学到更多的东西,下面就一起来看看吧. 平时我们在项目中使用到ListView和GridView组件都是都会用到Adapter,比较多的情况是继承自BaseAdapter,然后实现getCount