我在php中创建邮件,在wordpress插件中,并且想要包含由google chart api创建的图像。我试过以下内容:在php文件中执行Google Chart API(Javascript)
<?php
$message.= <<<HTML
<script>
google.charts.load('current', {
'packages': ['corechart']
});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Year', 'Sales', 'Expenses'],
['2013', 1000, 400],
['2014', 1170, 460],
['2015', 660, 1120],
['2016', 1030, 540]
]);
var options = {
title: 'Company Performance',
hAxis: {
title: 'Year',
titleTextStyle: {
color: '#333'
}
},
vAxis: {
minValue: 0
}
};
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
HTML;
$message.=<<<HTML
<h1> test message </h1>
HTML;
$to = "[email protected]";
$subject = "test message";
$headers = "test message";
add_filter('wp_mail_content_type', 'set_html_content_type');
wp_mail($to, $subject, $message,$headers);
remove_filter('wp_mail_content_type', 'set_html_content_type');
?>
我的问题是Javascript无法在传送的邮件中执行。因此,我正在寻找一种在脚本内执行Javascript的方法。
任何建议如何在php文件中执行JavaScript以获得由此产生的google-api链接?
我欣赏一个可行的例子!
PS:我的PHP版本是:
> php --version
PHP 5.5.9-1ubuntu4.17 (cli) (built: May 19 2016 19:05:57)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans
Thx为您的答案!任何建议如何创建这个“隐形”页面在我的PHP文件 – mrquad
你有一个邮件php的例子吗?建议有一个绘制图表的页面,然后当图表的“ready”事件触发时,通过ajax将图像字符串发送回php继续发送电子邮件 – WhiteHat
非常感谢您的回复!请参阅上面我更新的答案。 – mrquad