使用Flot和Bootstrap:IE8不兼容?

Ric*_*ard 5 css jquery internet-explorer flot twitter-bootstrap

我试图在Bootstrap项目中使用Flot.我发现在IE8中,Flot图是不可见的,我将问题缩小到Bootstrap使用的HTML5垫片.

这是完整的页面:它是基本的Flot示例加上HTML5垫片,图形在IE8中是不可见的(在Chrome中很好).

如果我删除HTML5填充线,IE8中的图形就可以了.但是,我需要用于Bootstrap样式的HTML5填充程序(当我添加Bootstrap时 - 为了本例的目的我已经删除了对它的引用) - 如果它不存在那么Bootstrap样式就变得棘手了.

我能做什么?

<!DOCTYPE html><html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Flot Examples</title>
    <!--[if lt IE 9]>
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <!--[if lte IE 8]><script language="javascript" type="text/javascript" src="/scripts/plugins/excanvas.min.js"></script><![endif]-->
    <script language="javascript" type="text/javascript" src="/scripts/jquery-1.7.1.min.js"></script>
    <script language="javascript" type="text/javascript" src="/scripts/plugins/jquery.flot.js"></script>
 </head>
<body>
<div id="placeholder" style="width:100%;height:300px;"></div>
<script type="text/javascript">
$(function () {
    var d1 = [];
    for (var i = 0; i < 14; i += 0.5)
        d1.push([i, Math.sin(i)]);
    var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];
    var d3 = [[0, 12], [7, 12], null, [7, 2.5], [12, 2.5]];
    $.plot($("#placeholder"), [ d1, d2, d3 ]);
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Ryl*_*ley 7

html5shim和excanvas有点做我猜的同样的事情?excanvas模仿html5画布元素,html5shim做了一些我不太清楚的魔法.简而言之,当谈到IE <9和canvas元素时,你会想告诉html5shim.我在源头挖了一下,发现了这个信息.

所述html5对象被暴露,使得更多的元件可以shived和现有shiving可以在内部框架被检测到.
在包含脚本之前可以更改选项html5 = {'elements':'mark section','shivCSS':false,'shivMethods':false};

在它列出所有将要"shiv"d的元素之后不久,所以我想出了这个解决方案:

<!--[if lt IE 9]>
  <script type="text/javascript">
    var html5 = { 'elements': 'abbr article aside audio bdi data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video' };
  </script>
  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

我从源头中取出的元素中的巨大列表,仅删除canvas.

除此之外,我使用了你所有的例子,似乎工作得很好.