2017-05-04 8 views
0

저는 example에 따라 그래프의 이미지 내보내기를 구현하려고했는데, Dygraph.createCanvas를 계속 실행하면 함수 오류가 아닙니다.Dygraphs 내보내기 이미지 createCanvas가 함수가 아닙니다.

이전 링크의 로컬 복사본을 다운로드하고 그 다음, 잘 작동 내 응용 프로그램에서 사용되는

<script type="text/javascript" src="http://dygraphs.com/2.0.0/dygraph.js"></script> 

<script type="text/javascript" src="http://dygraphs.com/dygraph-dev.js"></script> 

에서 Dygraphs 라이브러리에 대한 링크를 변경 시도했고, 그러면 Dygraph.createCanvas가 다시 함수가 아닙니다.

내가 무엇을 놓치고 있는지, 함수가 라이브러리에 존재하는 것 같습니다. 왜 코드가 그것을 볼 수 없습니까?

+0

더 잘 도와 주려고 jsfiddle을 주시겠습니까? 문안 인사! –

+0

@LucidioVacas 리소스가 https가 아니므로 상위 링크에 자바 스크립트 콘솔을로드하면 Dygraph.createCanvas에 대한 액세스 권한을 얻을 수 없습니다. 두 번째 링크에는 없습니다. 나는 그 함수가 이제 비공개이므로 수출 코드가 Dygraphs 2.0에서 작동하지 않을까? – Nick

답변

1

같은 문제가 발생했습니다. 나는 dygraph 수출은 어디서나 CDN에있을 나타나지 않기 때문에 https://jsfiddle.net/n3kozcu1/1/

function export_chart() { 
     var img = document.getElementById('demoimg') 
     Dygraph.Export.asPNG(g, img); 
} 

$("#button").click(export_chart); 

바이올린 조금 이상한 보이는, 그래서 그냥 다 붙여했지만 : 나는 그것을위한 jsfiddle을 만들었습니다. 업스트림에 링크되어 있으므로 이전 버전을 사용하고 있지 않다는 것을 알 수 있습니다.

매우 쉬운 인위적인 예제, 데모 사이트와 동일합니다. 작동하지 않습니다.

: 실패 "catch되지 않은 형식 오류 : Dygraph.createCanvas는 함수가 아닙니다" 는 그래서, dygraph-utils의 코드를 찾고 : https://github.com/danvk/dygraphs/blob/aaec6de56dba8ed712fd7b9d949de47b46a76ccd/src/dygraph-utils.js

Dygraphs.createCanvas 것은 단지 하나 라이너

편집 캔버스를 만듭니다. 그래서, 난에 dygraphs 수출에 relavent 라인을 변경 :

canvas = document.createElement('canvas'); 

그리고 그것은 작동하지만 Dygraph.update를 호출하는 다음 줄에 폭격. 그래서 그것을 발견하고 그것을 Dygraph에 패치했습니다. 출력

그리고 "작동합니다." 나는 축 레이블을 올바르게 인쇄하는 것과 같이 문제가 여전히 있고 HiDPI 디스플레이에서는 작동하지 않기 때문에 따옴표로 "작동"한다고 말하지만 적어도 충돌은 발생하지 않습니다.

+0

감사합니다. 조사해 보겠습니다. – Nick