Rails:服务器端运行HTML和Javascript
Rails: Server side run HTML and Javascript
我有一个应用程序,可以通过Google图表API创建图表。现在我想通过电子邮件或Telegram信使将图表的图像发送给用户。这是在浏览器中显示图像图表并通过AJAX将该图像发送到控制器的一个动作的代码。如何在服务器上运行此html脚本?
<html>
<head>
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load("current", {packages:['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
data2 = [['Time', 'Temp'],[1456099200,7.4],[1456102800,7.7],[1456106400,8.6],[1456110000,8.6],[1456113600,9.4]]
var data = google.visualization.arrayToDataTable(
data2
);
var options = {
title: "Darestan Monitoring",
legend: 'none',
hAxis: {
ticks: [{v: 1456099200, f: '1'},{v: 1456102800, f: '2'},{v: 1456106400, f: '3'},{v: 1456110000,f: '4'},{v: 1456113600, f: '5'}]
},
annotations: {
style: 'line'
}
};
var chart_div = document.getElementById('chart_div');
var chart = new google.visualization.LineChart(chart_div);
// Wait for the chart to finish drawing before calling the getImageURI() method.
google.visualization.events.addListener(chart, 'ready', function () {
var image_tag = '<img src="' + chart.getImageURI() + '">';
chart_div.innerHTML = image_tag;
console.log(chart_div.innerHTML);
$.ajax({
url: '/generate_chart/image_data',
type: 'POST',
data: {"image_data_tag": chart.getImageURI()},
dataType: 'json',
beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))}
});
});
chart.draw(data, options);
}
</script>
<div id='chart_div'></div>
</body>
</html>
wkhtml2image正是您想要的。
我们在ruby应用程序中使用了大量的PDFkit+wkhtml2pdf。
我们的设置:
ActiveJob+SuckerPunch+PDFKit。render_to_string有助于创建HTML文件,然后通过PDFKit将其传递给wkhtml2pdf。获取PDF,用回形针将其保存到模型中。确保等待javascript(wkhtml2image/pdf选项)
这不是那么琐碎,但效果很好,
祝你好运,
亚辛。
相关文章:
- Javascript html每点击一次就会更改url
- 通过javascript/html访问twitter共享iframe
- 使用鼠标悬停JavaScript/HTML显示文本
- JavaScript-HTML表单到JSON(空值)和格式
- 使用javascript html实时预览文本区域输入
- 如何每秒从一个变量中提取一定次数的javascript/html
- 使用变量值作为'名称标识符'javascript/html
- JavaScript HTML Onclick
- 非侵入性Javascript HTML注入
- AppendChild Form / Table [Javascript/Html/PHP]
- 按钮don't使用onClick-Javascript HTML重定向
- 在库(javascript/HTML)中将“name”替换为“id”
- 如何确定使用 javascript/html 单击了哪个对象/图像
- 新的javascript HTML元素不遵循css规则
- JavaScript/HTML 错误的解决方案
- 从图像URL javascript html保存图像文件
- javascript html使用webstorage保存表单
- Javascript+HTML中的日期选择器准备好了吗?(需要:DD、MM、YY的单独字段加上日历选择器)
- 谷歌地图/融合表Javascript HTML赢得't显示/可视化所有多边形数据(通过色标)
- JavaScript/HTML命令行小部件