2012-09-01 33 views
2

我试图在Web应用程序中使用Dygraphs。请参阅下面的简单代码。Dygraph不起作用

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

如果包括我行 类型=“文/ JavaScript的” SRC =“http://dygraphs.com/dygraph-combined.js” 与脚本它在Firefox和Chrome,它工作正常不会在IE中工作,它会给出错误,如'CanvasRenderingContext2D'未定义。如果我下载了dygraph-combined.js并将其包含在我的Web应用程序中,并通过提供路径访问它,它不会在所有三种浏览器中都能正常工作,它会给出Dygraph未定义的错误消息。请帮帮我。我想知道为什么会发生这种情况。

回答

2

你应该只需要包括dygraph-combined.js,无论是从你的网站或你自己的网站。你有没有在你的网站上加入excanvas.js?这可以解释为什么它不适用于IE8。

1

问题可能在于/js/...中的脚本无法被任何浏览器访问。

  • 它解释了为什么在你提到的远程dygraph-combined.js的情况下,只有IE无法正常工作 - 它需要excanvas.js/js/...
  • 引用在您下载dygraph-combined.js的情况和更换遥控参考/js/...则没有浏览器工作,因为他们不能访问的/js/dygraph-combined.js/js/excanvas.js/js/dygraph-combined.js

检查辅助功能。如果没有引用斜线,例如:js/dygraph-combined.js

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