繁体   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