3

我正在使用该jqplot插件在网站上显示仪表。这可以在 FF/Safari/Chrome 中完美运行,但必须用于excanvas在 IE8 中运行。

问题是仪表是动态创建的,因此需要传递值,然后replot()需要该函数将“针”放置在仪表上的某个位置。但是,当我在 IE 中使用replot()orredraw()函数时,会渲染轴,但实际仪表显示在完全错误的位置(我只能看到元素内仪表的最上角)。

我读过强迫 IE8 模拟 IE7 使用

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

可以解决这个问题,但对我来说并没有以任何方式影响输出。

如果还有什么我需要包括的只是说。

4

3 回答 3

2

我为我的一个专门针对 IE8 客户(企业网络)的程序使用了 JQPLot,当我添加了额外的插件时,我遇到了许多异常情况。我将首先删除您可以首先删除的任何 JQPlot 插件,因为这帮助我消除了我在使用 JQPLot 时遇到的一些奇怪问题。

我还发现对于我的 CSS 问题,firebug lite 比开发人员工具更快,你的听起来可能只是一个 CSS 问题。首先检查该元素以查看正在应用/覆盖的 CSS 会有所帮助。您也许可以添加一个 IE CSS 条件,http://www.quirksmode.org/css/condcom.html。最后,您的 DOCTYPE 将对 IE 如何呈现您的内容产生重大影响:http ://www.quirksmode.org/css/quirksmode.html 。

如果以上所有方法都不起作用,我已经通过加载未压缩的 JS 并打破我需要的功能来解决几个 JQPlot 问题。如果使用 IE 开发工具,仅仅给出一个通用的 throw('fail') 来中断比尝试处理 IE 开发工具的 JS 断点系统要快得多。

于 2011-08-25T12:03:01.257 回答
2
  1. 确保您使用的是最新版本的 jQuery(根据此处)。

  2. 确保您正在使用 .Ready 函数(按此处)初始化 jPlot。 $(document).ready(function() {

    $.jqplot(...init options...);

    });

  3. 确保包括 jquery.jqplot.css (per here )

  4. 禁用 IE8 中称为“二进制和脚本行为”的自定义安全设置(根据此处

最后,它可能是一个错误。尝试在此处发布问题。

听起来 jqPlot 在这一点上对于 IE8/9 来说是相当错误的。您可以尝试搜索他们的网站,看看他们是否有一些解决方案。

于 2011-08-22T18:00:32.970 回答
1

尝试使用:

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

即使我已经在使用 IE8,它也对我有用

于 2012-06-05T21:21:41.430 回答