javascript
  • php
  • html
  • 2013-12-18 78 views 0 likes 
    0

    我希望能夠使用PHP向通過JavaScript生成的圖表發送電子郵件。如果我可以將其轉換爲HTML我可以使用這個,使用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生成圖像的電子郵件的方式?謝謝。

    +0

    @ziyuang這些都與他的問題有關。 – 2013-12-18 00:15:37

    +0

    你的JavaScript做什麼? – 2013-12-18 00:16:48

    +0

    你在這裏使用哪個圖表庫?你知道它是否產生SVG輸出嗎? –

    回答

    1

    閱讀ziyuang在他的評論中發佈的問題的答案。一旦你讀到,你會意識到你的問題並不合理。當您發出請求時,HTML只是一個由Web服務器提供的很長的字符串,然後該字符串將由您的瀏覽器在全球客戶端解釋。 PHP是一個服務器端腳本語言,用於創建可以提供給客戶端的動態HTML頁面。 JavaScript是一種瀏覽器腳本語言,通常使用客戶端(一般來說)。

    要回答你原來的問題,沒有轉換器可以在JavaScript和HTML之間進行轉換,如果有的話沒有任何意義。 JavaScript的要點是提供一種與DOM交互的方式,並提供前端邏輯。

    我猜測是你有一些JavaScript UI小部件(JQuery UI之類),它爲你生成了一些圖表。它在瀏覽器中運行時的實際做法是修改DOM(文檔對象模型)。有關DOM的更多信息,請參閱:http://www.w3.org/TR/DOM-Level-2-Core/introduction.html

    如果要將該圖表通過電子郵件發送給某個電子郵件地址,您可以執行的操作是獲取創建圖表的DOM節點的內部html。

    // where myChart is the html element that contains the chart html 
    document.getElementById("myChart"); 
    var chart = myChart.innerHTML; 
    

    然後,您可以發送該字符串返回到你的PHP腳本,然後可以通過電子郵件發送給你想要誰:你可以做類似如下的東西做在JavaScript中。

    所以,你不能轉換到JavaScript的HTML,但你可以捕捉由JavaScript生成的HTML ,並「送」,早作爲參數傳遞給服務器上的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!"); 
        } 
    }; 
    

    希望這是有道理的,乾杯!

    相關問題