簡體   English   中英

HTML代碼分配給Javascript DOM對象

[英]HTML code assign to a Javascript DOM Object

我的最終目標是從生成的HTML頁面創建Word DOCX文件。 為此,我使用了來自問題的信息, 從HTML <figure>和<figcaption>到Microsoft Word ,其中一個答案提到了一個JavaScript插件,該插件會將HTML轉換為DOCX( Mark Windsoll的jquery插件 ,將HTML轉換為Word )。

該答案和插件中的示例被用作以下代碼段的基礎。 在我的程序中,我以前創建了一個HTML頁面(在WordPress循環中)(不僅是頁面元素,而是整個格式正確的HTML頁面),其中包含我想要轉換為DOCX的內容。 另外,我已經加載了“ HTML to Word插件”所需的JS和CSS。

目的是采用創建的HTML( $post_output )並使用wordExport()函數(將HTML轉換為DOCX的JS)創建DOCX文件,然后將其保存。

<?php 
    $x = $post_output ;  // $post_output contains an HTML page with doctype/head/body/etc that was generated by the loop
    $dom = new DOMDocument;
    libxml_use_internal_errors(false); // supress errors
    $dom->loadHTML($x, LIBXML_NOERROR); // supress errors
?>
<script type="text/javascript">
         $dom.wordExport();
</script>

我得到的錯誤是腳本中的$dom對象不可用,因此未調用wordExport()函數。

因此,我需要一種將整個HTML字符串( $x )加載到JavaScript DOM對象中的方法,以便wordExport()函數(即HTML到DOCX轉換器)可以工作。 (已添加) HTML“字符串”不是瀏覽器中的頁面,而是分配給PHP字符串變量的生成的“ HTML頁面源”。)

新增 HTML字符串需要由Word-to-DOCX jQuery插件處理。 這可能嗎?

不要被JS和PHP都具有DOM API的實現所迷惑; 這並不意味着創建PHP對象將對您運行JS方法有用。 請記住,在所有PHP完成之后,JS在瀏覽器中運行,並且看到的只是您發送到瀏覽器的輸出。

因此,您需要做的是echo HTML的整個字符串,以便可以在JS代碼中進行選擇。 您可以將其放入JS字符串中(基本上用'標記將其括起來,但是使用json_encode是一種轉義內容中所有引號等的便捷方法); 或者您可以將其作為頁面上的隱藏內容回顯。 然后通過jQuery()運行它以獲取適當的對象,並使用您的庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM