Я хочу иметь возможность использовать PHP для отправки по электронной почте диаграммы, сгенерированной в JavaScript. Если я могу преобразовать его в HTML, я могу использовать его,
<?php
$Now = date("n/j/Y g:i:s A");
$to = "[email protected]";
$subject = "Test" . " - " . $Now;
$message = '<html>HTML here</html>';
$from = "[email protected]";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "From:" . $from;
mail($to,$subject,$message,$headers);
?>
Кто-нибудь знает о конвертере JavaScript в HTML? Или способ сделать снимок страницы и загрузить или отправить по электронной почте веб-страницу с помощью изображений, сгенерированных JavaScript? Благодарю.
Прочтите ответ на вопрос, который ziyuang опубликовал в своем комментарии. Как только вы прочтете, вы поймете, что ваш вопрос не имеет смысла. HTML - это просто большая длинная строка, обслуживаемая веб-сервером при выполнении запроса, а затем эта строка интерпретируется вашим браузером на клиентской стороне мира. PHP - это серверный скриптовый язык для создания динамических HTML-страниц, которые могут обслуживаться до клиентов. JavaScript - это язык сценариев браузера, который используется на стороне клиента (вообще говоря).
Чтобы ответить на ваш первоначальный вопрос, нет конвертера для преобразования между JavaScript и HTML, и это не имело бы смысла, если бы оно было. Цель JavaScript - предоставить способ взаимодействия с DOM и обеспечить логику интерфейса.
Я предполагаю, что у вас есть виджет пользовательского интерфейса JavaScript (пользовательский интерфейс JQuery и т.п.), Который создает для вас некоторую диаграмму. Что это на самом деле делает, когда он запускается в браузере, это изменение DOM (объектная модель документа). Подробнее о DOM читайте: http://www.w3.org/TR/DOM-Level-2-Core/introduction.html
Если вы хотите отправить по электронной почте этот график на какой-то адрес электронной почты, то вы можете сделать внутренний html узла DOM, в котором была создана диаграмма. Вы можете сделать это на JavaScript, выполнив что-то похожее на следующее:
// where myChart is the html element that contains the chart html
document.getElementById("myChart");
var chart = myChart.innerHTML;
Затем вы можете отправить эту строку обратно на свой php-скрипт, который затем может отправить его кому угодно.
Таким образом, вы не можете преобразовать JavaScript в HTML, но вы можете захватить HTML, сгенерированный JavaScript, и "отправить" это обратно как параметр в ваш php-скрипт на сервере:
// Handling for IE
var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
var url = "http://www.yourdomain.com/php_script.php?chart=" + chart;
xhr.open('GET', url, true); // 'true' makes this call asynchronous
Затем создайте обратный вызов JavaScript для вашего запроса:
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status < 400) {
alert("success!");
}
};
Надеюсь, это имеет смысл, ура!