2012-08-31 4 views
0

IE7에서 JavaScript를 실행하는 것과 관련된 일련의 질문이 있습니다. jqplot을 사용하여 그림을 생성하는데 크롬과 IE8에서는 잘 작동하지만 IE7에서는 작동하지 않습니다.IE7에서 jqplot이 제대로 작동하지 않습니다.

진단하려면 가장 간단한 코드 $.jqplot('chart1', s1)을 실행하고 IE7에서 작동합니다. 그래서 문제는 모든 옵션에 관한 것입니다 (전설 제외). 아무도 나에게 약간의 제안을 줄 수 있습니까? IE7은 특정 유형의 구문만을 허용합니까?

CODE 및 Demo :

<div id="chart1" style="margin-top:20px; margin-left:20px; width:650px; height:400px;"></div> 
<!--[if lt IE 9]> 
<script src="http://www.prioritymarketers.com/jqplot/src/excanvas.min.js"></script> 
<![endif]-->​ 

<script> 
$.jqplot.config.enablePlugins = true; 

var ms= 2 
var s1 =[[5.0, 23.0, 131.0, 779.0, 4667.0, 27995.0, 167963.0, 1007771.0, 6046619.0, 36279707.0], [13.0, 85.0, 517.0, 3109.0, 18661.0, 111973.0, 671845.0, 4031077.0, 24186469.0, 145118821.0]] 

L = [{label: 'Stage 1'}]; 

var i = 2 
while (i <= ms) { 
    L.push({label: 'Stage' + i}); 
    i++; 
} 

$.jqplot('chart1', s1, { 

    seriesDefaults: { 
     showMarker: false, 
     pointLabels: { 
      show: false 
     }, 
    }, 

    series: L, 
    axes: { 
     xaxis: { 
      label: 'Time units', 
      pad: 0, 
     }, 
     yaxis: { 
      label: 'Number of individuals', 
      labelRenderer: $.jqplot.CanvasAxisLabelRenderer, 
      pad: 0 
     } 
    }, 
    legend: { 
     show: true, 
     location: 'nw', 
     placement: 'inside', 
     fontSize: '11px' 
    } 
}) 
</script> 
​ 
+0

이 순서 파일을 포함 : P – jbabey

+0

를 인터넷하지 않습니다 IE7에서 잘 작동합니다 ... – Timm

+0

@ jbabey : tested. 전설 옵션 만 작동합니다 ... –

답변

2

나는 옵션 세트의 마지막 요소 뒤에 쉼표가있는 경우 IE가 큰 팬이 아니라는 사실을 알고 있습니다.

예 :

이 :

seriesDefaults: { 
     showMarker: false, 
     pointLabels: { 
      show: false 
     }, 
    }, 

이 될 것입니다 :

seriesDefaults: { 
    showMarker: false, 
    pointLabels: { 
     show: false 
    }}, 

미묘한 차이지만 나 문제가 해결되지 않을 수 있습니다.

는 귀하의 플롯 기능을 변경해보십시오 :
$.jqplot('chart1', s1, { 

    seriesDefaults: { 
     showMarker: false, 
     pointLabels: { 
      show: false 
     } 
    }, 

    series: L, 
    axes: { 
     xaxis: { 
      label: 'Time units', 
      pad: 0 
     }, 
     yaxis: { 
      label: 'Number of individuals', 
      labelRenderer: $.jqplot.CanvasAxisLabelRenderer, 
      pad: 0 
     } 
    }, 
    legend: { 
     show: true, 
     location: 'nw', 
     placement: 'inside', 
     fontSize: '11px' 
    } 
}) 

는 또한, 내가 excanvas를 마지막으로 사용 시간이 나는 그것이 최신 릴리스입니다 있는지 확인하는 데 끝났다.

링크 :

+0

고마워요! 그것은 ','문제입니다! –

+0

최근에 Flot을 사용하면서 동일한 문제가 발생했습니다. 알아내는 것은 분명 어려움이었습니다. 다행히 도왔다! =) – Chase

+0

Jqplot과 Flot 또는 google plot과 비슷한 내용을 비교 했습니까? –

0

캔버스 태그와 jqPlot는 대부분의 브라우저에서 잘 작동 the docs에서. jqPlot에서 사용하는 모든 캔버스 기능은 Firefox 3.5 이상, Safari 4 이상, Chrome 8.0 이상, Opera 10 이상 및 IE 9 이상에서 지원됩니다. IE 6 - 8은 Google의 excanvas.js 라이브러리를 통해 지원됩니다.

excanvas.js 라이브러리가 있습니까? 당신이 원한다면 더 많은 기능이 작동 할 것입니다.

+0

" <스크립트 src ="http://www.prioritymarketers.com/jqplot/src/excanvas.min.js "> "을 포함 시켰습니다. HTML. 그러나 그것은 문제를 해결하지 못했습니다 ... –

+0

만약 내가 당신 모두 행복하게 될 것이라고, 모든 기능은 IE9 +, IE7이 아닌 작품에 명확하게 명시된 것입니다 – jbabey

+0

코멘트 주셔서 감사합니다. 체이스는 그것이 내가 쉼표 문제 였음을 알도록 도왔다. –

0

http://code.google.com/p/explorercanvas/downloads/list가 당신을 위해 IE의 다른 버전을 사용할 수 있습니까? 비슷한 문제가 있었지만 제 경우에는 IE7과 IE8에서 작동하지 않았습니다. 나는 그것을 어떻게 고정 시켰는지 정확하게 기억하지 못한다. 당신이 jquery.jqplot.js을 선택하면

는 IE9 이상 버전 이하 excanvas.js

를 사용하는지 확인 라인이 만들려고 그렇지

* > <!--[if lt IE 9]><script language="javascript" type="text/javascript" src="excanvas.js"></script><![endif]--> 

을 다음과 같은 라인이 있는지 가 중단 될 때까지

<link rel="stylesheet" type="text/css" href="../libs/jqplot/jquery.jqplot.css" /> 

<!--[if lt IE 9]><script language="javascript" type="text/javascript" src="../libs/jqplot/excanvas.js"></script><![endif]--> 

    <!-- BEGIN: load jqplot --> 
    <script language="javascript" type="text/javascript" src="../libs/jqplot/jquery.jqplot.js"></script> 
    <script language="javascript" type="text/javascript" src="../libs/jqplot/jqplot.barRenderer.js"></script> 
    <script language="javascript" type="text/javascript" src="../libs/jqplot/jqplot.pieRenderer.js"></script> 
    <script language="javascript" type="text/javascript" src="../libs/jqplot/jqplot.highlighter.js"></script> 
    <script language="javascript" type="text/javascript" src="../libs/jqplot/jqplot.pointLabels.js"></script> 

    <script language="javascript" type="text/javascript" src="../libs/jqplot/jqplot.canvasTextRenderer.js"></script> 
    <script language="javascript" type="text/javascript" src="../libs/jqplot/jqplot.categoryAxisRenderer.js"></script> 
    <script language="javascript" type="text/javascript" src="../libs/jqplot/jqplot.canvasAxisLabelRenderer.js"></script> 

    <!-- END: load jqplot --> 
가 하나 하나에 옵션을 설정
+0

제안 해 주셔서 감사합니다. 나는 코드의 시작 부분을 정리할 것이다. 내 경우, 문제는 마지막 요소 뒤에 쉼표로 인해 발생합니다 –

관련 문제