Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google可视化表不允许HTML_Javascript_Html_Google Visualization - Fatal编程技术网

Javascript Google可视化表不允许HTML

Javascript Google可视化表不允许HTML,javascript,html,google-visualization,Javascript,Html,Google Visualization,我正在使用Google可视化工具显示一个表,但是我所有的HTML都显示为一个字符串。代码如下: var data = new google.visualization.DataTable() data.setTableProperty('allowHtml', true) data.addColumn('string','Keyword') data.addColumn('number','<img src="http://m8app.com/assets/google-icon-855

我正在使用Google可视化工具显示一个表,但是我所有的HTML都显示为一个字符串。代码如下:

var data = new google.visualization.DataTable()
data.setTableProperty('allowHtml', true)

data.addColumn('string','Keyword')
data.addColumn('number','<img src="http://m8app.com/assets/google-icon-8556487cd6ff3508d7bf2c4f64a0e3ad.jpg">Rank')
data.addColumn('number','Rank Change')
data.addColumn('string','Page')
data.addColumn('string','Link')

var row = 1;
while(row < thing.length){
data.addRow([
thing[row][0],
parseInt(thing[row][1],10),
parseInt(thing[row][2],10),
thing[row][3],
"<a href='"+thing[row][4]+"' target='_blank'>Search</a>"]);
row++;
}



    var table = new google.visualization.Table(document.getElementById('rankInner'));
    table.draw(data, {
    allowHtml:true,
    showRowNumber: false, 
    page : 'enable', 
    pageSize:10, 
    sortColumn: 2, 
    sortAscending:false
    });

我在DataTable和Table上都将'allowtml'设置为true,但是Table仍然显示HTML的全文,而不是将其呈现为HTML。如果您能推荐我试试,我将不胜感激。

我在在线可视化操场上尝试了一个类似您的示例,它看起来不错

我看到你唯一搞砸的一行是下面的一行,缩进错误[引号,双引号。与下面的工作行比较]

"<a href='"+thing[row][4]+"' target='_blank'>Search</a>"]);
链接:

我试过的代码:

function drawVisualization() {
  // Create and populate the data table.
  var data = google.visualization.arrayToDataTable([
    ['Name', 'Height', 'Dance'],
    ['Kuttappan', 174, true],
    ['Raayappan', 523, false],
    ["<a href='abc.com' target='_blank'>Search</a>", 86, true]
  ]);

  // Create and draw the visualization.
  visualization = new google.visualization.Table(document.getElementById('table'));
  visualization.draw(data,  {allowHtml:true});
}
当您运行它[单击工具中的运行代码]时,您会看到搜索链接,而不是HTML代码

下面是图像的代码

data.addColumn('number','<img src="http://m8app.com/assets/google-icon-8556487cd6ff3508d7bf2c4f64a0e3ad.jpg">Rank') 

确实只显示为图像,而不是HTML

您现在拥有的是javascript,因此,如果您运行,您应该会得到空页面:。您正在引用调用新google.visualization.Table所需的库吗?抱歉,我没有包括整个页面。有一个名为rankInner的div,我已经导入了可视化库。这段代码被成功调用,我也成功创建了表,但是我在其中一个列标题和所有第4列中使用html的位置在表中显示为html代码块,而不是图像和链接,应该可以工作。我在在线编辑器中尝试了一个,我将在下面分享它。如果它有效,我可以自由地接受它作为答案。我发现您的实际代码中唯一的错误是文档似乎不建议使用该数据。支持setTableProperty'allowHtml',true。请纠正我,如果我错了,它有时会发生。谢谢你普拉什-我已经在操场上运行了你的代码,它确实正确地显示了链接。我尝试在我的版本中使用arrayToDataTable来查看是否存在此问题,但我仍然存在相同的问题。您能否为我提供指向示例代码的实时链接,以便我也可以查看您的问题?Prash谢谢,我对延迟响应表示歉意。我无法提供链接,因为它位于需要凭据的应用程序中。然而,我发现了我的问题。我没有使用google.setOnLoadCallback加载表,它是在我的项目的另一个函数中加载的。它在google.load函数之后不会运行一段时间,因此在table draw函数出现时它应该已经完全加载了。即使当我等10秒来画桌子时,它也不起作用。为什么它在使用加载回调时有效,而在我实际等待10秒绘制时无效?