2013-06-28 4 views
7

웹 사이트가 있는데, 한 페이지에 하이 차트가 성공적으로 추가되었습니다.하이 차트 오류 # 16 : 동일한 페이지에 차트가 표시되지 않습니다.

이제 동일한 페이지에 동일한 코드가 있지만 다른 ASP 페이지가 복사되었지만 첫 번째 차트가 사라지고 두 번째 차트가 표시되지 않습니다. 어떤 아이디어가 왜이 무엇입니까

Uncaught Highcharts error #16: www.highcharts.com/errors/16 highcharts.js:16 
Uncaught SyntaxError: Unexpected token ILLEGAL Dashboard.aspx:657 
Uncaught TypeError: Object [object Object] has no method 'highcharts' Dashboard.aspx:405 
Uncaught TypeError: Object [object Object] has no method 'draggable' 

:

것은 나에게 오류를주고있다.

그래서 새로운 차트 내 코드는 내가 원하는 :

<script type="text/javascript" 
$(function() { 
$('#container').highcharts({ 
    chart: { 
     type: 'bar' 
    }, 
    title: { 
     text: 'Fruit Consumption' 
    }, 
    xAxis: { 
     categories: ['Apples', 'Bananas', 'Oranges'] 
    }, 
    yAxis: { 
     title: { 
      text: 'Fruit eaten' 
     } 
    }, 
    series: [{ 
     name: 'Jane', 
     data: [1, 0, 4] 
    }, { 
     name: 'John', 
     data: [5, 7, 3] 
    }] 
}); 
});​ 
></script> 

다음과 같은 코드가 작동하고 차트 :

<script type="text/javascript"  src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
    <script type="text/javascript" src="http://code.highcharts.com/highcharts.js"></script> 



    <script type="text/javascript"> 

    $(function() { 

     $('#container').highcharts({ 
      chart: { 
       type: 'column' 
      }, 
      title: { 
       text: 'Chart' 
      }, 
      xAxis: { 
      categories: array1 
      }, 
      yAxis: { 
       title: { 
        text: 'aWH' 
       } 
      }, 
      tooltip: { 
       pointFormat: "Value: {point.y:.1f} mm" 
      }, 

      series: [{ 

       name: '2011-2012', 
       color: '#0000FF', 
       data: array 
      }, 
      { 

       name: '2012-2013', 
       color: '#92D050', 
       data: array3 
      }, 


      { 

       color: '#FF0000', 
       name: '2013-2014', 
       data: array2 
}] 
     }); 

    }); 

</script> 

2 차트 쇼.

하지만 첫 번째 차트 나던,

두 코드는 diffrent acsx 페이지입니다!

답변

21

그렇게,

이 오류는 두 번째 시간 Highcharts을 발생 또는 Highstock가 같은 페이지에로드 Given Error Link

Highcharts 오류 #에 이미 페이지에 정의 된 16

Highcharts 가면 Highcharts 네임 스페이스가 이미 정의되어 있습니다. Highcharts.Chart 생성자와 하이 차트의 모든 기능은 Highstock에 포함되어 있으므로 차트와 StockChart를 함께 실행하는 경우 highstock.js 파일 만로드하면됩니다.

당신은 당신의 코드를 한 번만 포함해야 highcharts 두 번째로 스크립트 라이브러리 복사

확인 여부 : 당신은 여기 $('#container') 컨테이너로 같은 사업부의 차트를 보여주기 위해 노력하고있다

<script src="http://code.highcharts.com/highcharts.js"></script> 

편집

을 div의 ID입니다. 두 ascx가 페이지에서 렌더링 될 때 Id 컨테이너와 동일한 div를 찾고 그 중 하나를 대체하는 차트를 렌더링합니다. ASCX에서 (다음)

<div id="container1" style="min-width: 400px; height: 400px; margin: 0 auto"></div> 
<div id="container2" style="min-width: 400px; height: 400px; margin: 0 auto"></div> 
  • 제거 스크립트와 MasterPage에 넣어 : 그래서

    1. 는 두 개의 분리 된 div를 확인합니다.: 차트 두

      $('#container1').highcharts({//other code 
      

      : 당신은 Highcharts.js 라이브러리를 실행하는 코드를 래핑하는이 방법을 사용할 수 있습니다

      $('#container2').highcharts({//other code 
      
  • +0

    yh, 나는 한 번만 ... 그래서 무엇을 의미합니까 –

    +0

    그래서 오류가 여전히 발생합니까? 코드를 게시하십시오. –

    +0

    나는 내 코드를 업로드했습니다 –

    1

    차트 하나

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
    <script type="text/javascript" src="http://code.highcharts.com/highcharts.js"></script> 
    
  • . :

    if (!window.HighchartsUniqueName) { 
        window.HighchartsUniqueName = true; 
    
        // .. your code which runs Highcharts.js library here ... 
    
    } 
    

    나는 그것을 여기에서 발견했다 https://stackoverflow.com/a/5154971 그리고 그것은 나를 위해 일한다.

    In this way you don't need to put your script in the MasterPage if you don't want.

    것은 전역 변수이기 때문에, 매우 독특한 이름을 사용하십시오.

    Highcharts.Chart 생성자와 Highcharts의 모든 기능이 Highstock에 포함되어 있으므로 Chart와 StockChart를 함께 실행하는 경우 highstock.js 파일을로드하기 만하면됩니다 같은 방법으로.

  • 관련 문제