使用海军报与引导:IE8不兼容?(Using Flot with Bootstrap: IE8 in

2019-09-16 14:56发布

我试图使用海军报在引导项目。 我发现,在IE8中,海军报图是看不见的,我已经缩小问题下到HTML5垫片由启动时使用。

这里是全页面:它是基本的海军报例如加上HTML5垫片,图形在IE8是无形的(这是精在Chrome)。

如果删除了HTML5垫片线,该图是在IE8的罚款。 不过,我需要HTML5的垫片的引导方式工作(当我在加引导回 - 我已经删除了这个例子的目的,其引用) - 如果它不存在,则引导方式去扭曲。

我能做什么?

<!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>

Answer 1:

html5shim和和excanvas有些做我猜是一回事吗? excanvas模拟HTML5画布元素和html5shim做一些其他的魔力,我不是太清楚。 总之,你要告诉html5shim当它涉及到IE <9画布元素来把它关掉。 我在周围挖源了一下,发现这些信息。

html5物体曝光,使得更多的元件可以shived和现有shiving可以在内部框架被检测到。
选项可被改变之前被包括在脚本HTML5 = {“元素”:“标记部分”,“shivCSS”:假,“shivMethods”:假};

它列出了所有的元素之后不久,这将是“毒刃” 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]-->

在元素的巨型列表我拿出源的为好,只删除canvas

除此之外,我用了所有的例子,它似乎做工精细。



Answer 2:

我也碰到与IE8引导和海军报的问题,但不能完全与OP的问题确定。 即使有什么解决了这个问题对我来说是大致相同Ryley的答案,我花了一个小时才明白我需要做的,使其工作。

简单的解决方案:

  1. 下载excanvas.js (如果它不是在你的海军报包)。
  2. 添加有条件的评论之前,我加载头标记所有其他的JavaScript文件: <!--[if IE 8]> <script src="@Url.Content("~/Scripts/canvas/excanvas.min.js")" type="text/javascript"></script> <[endif]-->

很简单,但我得到了这条赛道在IE浏览器的JavaScript调试上,以“误差打破”激活。 这让我以下错误信息: 'window.G_vmlCanvasManager' is null or not an object 。 谷歌搜索导致我excanvas.js。 和弹指一挥间,flot.js突然工作。 我不知道这有什么关系HTML5shim,但它的工作原理...,比答案Ryley提出简单。



文章来源: Using Flot with Bootstrap: IE8 incompatibility?