2

我试图在 Web 应用程序中使用 Dygraphs。请看下面的简单代码。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7; IE=EmulateIE9">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>MyHtml.html</title>
    <!--[if IE]>
      <script type="text/javascript" src="/js/excanvas.js"></script>
    <![endif]-->
    <script type="text/javascript" src="/js/rgbcolor.js"></script>
    <script type="text/javascript" src="http://dygraphs.com/dygraph-combined.js"></script>
    <script type="text/javascript" src="/js/dygraph-combined.js"></script>
    <script type="text/javascript" src="/js/dygraph.js"></script>
    <script type="text/javascript" src="/js/CanvasRenderingContext2D.js"></script>
  </head>

  <body>
    <div id="graphdiv"></div>
    <script type="text/javascript">
      g = new Dygraph(
      document.getElementById("graphdiv"), "Date,Temperature\n" + "2008-05-07,75\n" + "2008-05-08,70\n" + "2008-05-09,80\n");
    </script>
  </body>

</html>

如果我在脚本中包含 type="text/javascript" src="http://dygraphs.com/dygraph-combined.js" 行,它在 firefox 和 chrome 中运行良好,在 IE 中无法运行,它会给出如下错误“CanvasRenderingContext2D”未定义。如果我下载 dygraph-combined.js 并将其包含在我的 Web 应用程序中并通过提供路径访问它,它将无法在所有三个浏览器中工作,它会给出错误消息 Dygraph 未定义。请帮我。我想知道为什么会这样。

4

2 回答 2

2

您应该只需要包含 dygraph-combined.js,无论是来自您的网站还是您自己的网站。您是否在您的网站上包含了 excanvas.js?这可以解释为什么它在 IE8 中不起作用。

于 2012-09-01T21:38:59.170 回答
2

问题可能是/js/...您的任何浏览器都无法访问其中的脚本。

  • 它解释了为什么在您引用 remote 的情况下dygraph-combined.js,只有 IE 不起作用 - 它需要excanvas.js/js/...
  • 如果您下载dygraph-combined.js并替换远程引用,/js/...则没有浏览器工作,因为他们无法访问/js/dygraph-combined.js

检查 和 的可访问/js/dygraph-combined.js/js/excanvas.js。是否应该有没有前导斜杠的引用,例如:js/dygraph-combined.js

如前所述,删除所有其他脚本引用(dygraph-combined 和 excanvas.js 除外)。Dygraph-combined 已经包含一个文件中的所有内容,并且 IE 需要 excanvas。

于 2013-08-15T15:09:32.550 回答