IE8兼容性在BIEE中的纠葛

浏览: 2199

环境:BIEE11.1.1.7... JAVA

背景:

1、由于种种原因,在biee的仪表盘中使用叙述内嵌了highcharts,用于展示图形。但发现在IE8下若鼠标悬浮在图形上移动,弹出框会导致原来的图形展示有重影的效果。特别是饼图,若鼠标移动一周,原来的饼图简直没法看了。但在IE10中又正常。解惑之。。。增加头文件代码,如下2步:

  • 在内嵌的iFrame页面中,#document下增加以下代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  • 在head下面增加以下代码:

<meta http-equiv="X-UA-Compatible" content="IE=edge">


2、由于需求,需要把在iFrame内部页面的提示器拿至外部,然后期望影响全局。由于java传参的特殊字符问题,导致解决方案不完美,转入研究BIEE内部机制传参,在谷歌浏览器(25)和IE10完美实现,在IE8中又开始重复纠结,要么不传递,要么传递延迟。跟踪甚久,发现是setInterval轮询函数在IE8中由于兼容性问题导致仅执行一次后停止。修改代码,新增setInterval执行函数为带随机数参数传递,解决setInterval函数仅执行一次的情况。后来发现情况稍好,但还会出现传参延迟情况。再跟踪之,发现还是IE8的兼容性问题作祟,修改iFrame传递的URL中多增加一个无意义随机数参数,欺骗IE8浏览器为每次访问不同的URL,使之每次都重新加载页面,而不是从缓存加载页面。再试之,效果还是如此。再次排查之,后来无意间发现setInterval函数执行时间在BIEE内部数据刷新机制之前,传参在变更之前,延迟是必然的了。遂添加setTimeOut函数延迟0.5S执行,完美解决之。


PS:下次抽时间写写使用BIEE内部机制跨iFrame传参的解决方法。有期盼的TX么?

推荐 1
本文由 百分百 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

BIEE内部机制跨iFrame传参 这个跟集成有关嘛,想学习BIEE集成这块的案例,关注中。。

要回复文章请先登录注册