【问题标题】:Convert an Entire HTML Page to a Single JavaScript String将整个 HTML 页面转换为单个 JavaScript 字符串
【发布时间】:2020-11-25 02:20:41
【问题描述】:


我需要将整个 HTML 文档转换为一个有效的 JavaScript 字符串。

这是一个需要定期进行的过程。 例如:


这个:
<html>
    <!--here is my html-->
    <div id="Main">some content</div>
    </html>

需要变成这样:

var htmlString="<html><!--here is my html --><div id=\"Main\">some content</div><html>"

根据我已经准备好的,我最初的想法是用 Java 读取文件的内容并编写我自己的解析器。我认为使用 shell 脚本等不可能做到这一点? (我在 OSX 上)

有人可以推荐一个好的方法吗?

我读过的类似问题
Reading entire html file to String?
convert html to javascript

【问题讨论】:

  • 您使用什么语言进行此转换?
  • 我熟悉 Java,但愿意接受建议。开发环境是 OSX。无论最方便的过程是将一个文件 (html) 转换为另一个 (js) 文件,其中 JS 文件仅包含 var stringName=""
  • 顺便说一句,您显示的字符串 不是 显示的文档的相同表示,因为您遗漏了空格(而这个 can很重要)。
  • 您的问题说要使用 java,但没有标记 'java' 你是指 javascript 还是 java ? - 如果 'java' 标记为 java
  • 最简单的方法可能是根本不用编写任何“解析器”之类的东西——而只需将您阅读的整个文档内容编码为 JSON。

标签: java javascript html string shell


【解决方案1】:

试试这个直播,jsFiddle

JS

var htmlString = document.getElementsByTagName('html')[0].innerHTML;
console.log(htmlString);

HTML

<p>Hello</p>
<div>Hi div</div>

【讨论】:

    【解决方案2】:

    jQuery GET 请求怎么样?

    例如

    $.get( "http://www.domain.com/some/page.html", function( data ) {
        // data == entire page in html string
    });
    

    它也适用于 php 脚本(产生 html 输出)。


    或者,如果你想实现这个 PHP,这样的东西也可以工作:

    <?php
    
    $html_str = file_get_contents('http://www.domain.com/some/page.html');
    
    ?>
    

    【讨论】:

    • 虽然这个解决方案是正确的,但是当有通过dom获取它的方法时,不需要再次发出网络请求。
    猜你喜欢
    • 2011-05-09
    • 1970-01-01
    • 2016-06-04
    • 2020-01-03
    • 1970-01-01
    • 2011-03-14
    • 2023-03-19
    • 1970-01-01
    • 2012-03-26
    相关资源
    最近更新 更多