2012-02-28 29 views
2

我有一个应用程序,它使用jqplot来产生一些图我想有打印图的能力,只有图。jqplot html无法在新窗口中呈现正确

所以我写了一个函数一个简单的函数,打开一个新的窗口,其中包含应用程序主页面中graphdiv的代码。我的问题是图形在新窗口中无法正确显示。有任何想法吗??

function newwindow() { 

    var windowObject = window.open('', 'windowObject', 'arguments...'); 
    windowObject.document.write("<html> <head><link rel='stylesheet' type='text/css' href='jquery.jqplot.css' /></head> <body onload=''><div class='jqplot-target'>" + $('#chartdiv').html() + "</div></body></html>"); 
    windowObject.document.close(); 


} 

谢谢。

+0

什么是“无法正确显示”找到是什么意思?从代码中看起来,您从前面呈现的图中获取html并将其投入到新窗口中。我认为这只会让你看到画布元素,而不是画布上绘制的元素。看到这个问题:http://stackoverflow.com/questions/3318565/any-way-to-clone-html5-canvas-element-with-its-content – Mark 2012-02-28 18:08:59

+0

马克,我认为是对的。我抓住了以前渲染的情节的HTML,假设这会复制一切。 – eshepard 2012-02-29 01:40:55

回答

0

创建一个像这样的函数,以便打开的图像具有dataUrl。

var img = $('#chartdiv').jqplotToImage(50, 0); 
    if (img) { 
    open(img.toDataURL("image/png")); 
    } 

这jqplot图像可以在这个环节 https://github.com/lsiden/export-jqplot-to-png