【问题标题】:How to open a new Tab with javascript and display some chart如何使用 javascript 打开一个新标签并显示一些图表
【发布时间】:2021-03-18 07:42:16
【问题描述】:

我正在尝试创建一个函数,该函数将打开一个新窗口选项卡并显示一组值的图表。我能够做到这一点,但由于某种原因,新标签正在打开,但页面中没有显示任何数据。您能否建议我哪里出错了。

function drawVisualization() {
    var data = google.visualization.arrayToDataTable([
      ['Name', 'TimeTaken'],
      ['BookMark1',  10],
      ['BookMark2',  20],
      ['BookMark3',  10],
      ['BookMark4',  20],
      ['BookMark5',  30],
      ['BookMark6',  26]
    ]);

    var options = {
      title : 'Time Taken to Apply Each Bookmark',
      vAxis: {title: 'Time_Seconds'},
      hAxis: {title: 'Bookmark_Name'},
      seriesType: 'bars',
      series: {5: {type: 'line'}}
    };
    var w=window.open("");
    var newNode = w.document.createElement('div');
    newNode.setAttribute("Id", "chart_div");
    newNode.setAttribute("style", "width: 2000px; height: 1000px;");
    
    var chart = new google.visualization.ComboChart(document.getElementById("chart_div"));
    chart.draw(data, options);
}

【问题讨论】:

  • 在创建新节点时感觉哪里出错了,仍然无法准确找到出错的地方。

标签: javascript html chart.js javascript-objects react-google-charts


【解决方案1】:

您正试图从错误的文档中查找节点。此解决方案有效:

    var w=window.open("");
    w.document.body.innerHTML += '<div id="chart"></div>';

    chart = new google.visualization.ColumnChart(w.document.getElementById("chart"));
    chart.draw(dataTable, options);

【讨论】:

  • 我尝试使用以下两个,但是,新的 html 页面不显示内容: var chart = new google.visualization.ComboChart(w.document.getElementById("chart_div")); var chart = new google.visualization.ComboChart(newNode);
  • 你说得对,我已经稍微更新了我的回复。
猜你喜欢
  • 2019-08-17
  • 2020-10-23
  • 2013-08-03
  • 2021-10-10
  • 1970-01-01
  • 2019-08-24
  • 1970-01-01
  • 2015-09-12
  • 2011-12-03
相关资源
最近更新 更多