【问题标题】:Save Javascript-Generated HTML to the Server将 Javascript 生成的 HTML 保存到服务器
【发布时间】:2013-03-05 04:10:33
【问题描述】:

我正在使用 Power Reviews 管理产品评论的电子商务网站。该服务使用 javascript 在我们的网页上显示评论,这意味着内容不太可能被搜索引擎索引。我正在尝试解决这个问题,以便可以在服务器端呈现评论内容,从而建立索引。

他们的脚本有两个我们放置在页面上的组件。首先,将脚本文件放在 HEAD 中: http://cdn.powerreviews.com/repos/16238/pr/pwr/engine/js/full.js

然后我们调用我们希望它在页面上呈现 HTML 的脚本,包括产品的 ID:

POWERREVIEWS.display.engine(document, { pr_page_id : "product-id-here" });

我目前的理论是我可以设置一个运行 javascript 的页面,然后将生成的页面保存到静态 HTML 文档中。然后我可以在加载时将其拉入产品页面。这需要自动更新每个产品的 HTML 文件,每天几次,但只有几十种产品,所以我不认为这对服务器来说过于庞大。

我该怎么做?我还没有看到执行 javascript 的好方法,所以我可以保存输出。有没有更好的方法来解决这个问题?

感谢您的帮助。

【问题讨论】:

    标签: php javascript client-side server-side


    【解决方案1】:

    好的...更好的答案。

    我能找到的最佳解决方案是使用 HtmlUnit http://htmlunit.sourceforge.net/ 在服务器上执行你的 html 使用 javascript 并取回用户将使用的最终 html 在浏览器上查看。

    该库对 JavaScript 有很好的支持,并且是无头的,所以你 应该可以在服务器上运行它。

    您需要编写一个可以接受输入的小型 Java 包装器 通过命令行并将其传递给 HtmlUnit 进行处理,然后 将结果返回给您。然后你可以从 PHP 调用这个包装器。

    请看这里:Execute javascript in PHP

    【讨论】:

    • 不确定您在说什么,但如果不使用 javascript,jquery 将无法执行任何操作。
    • 我的观点是,现代 jQuery 和 jQuery UI 使用机器可读和可搜索的纯 HTML 对象,因此仅动态生成 JavaScript 文本的问题已成为过去。
    • 好吧,jQuery 没有机会成为大多数搜索引擎(如果不是所有搜索引擎)的文本文件,因为它们不处理 javascript,所以没关系。
    • 在这种情况下,他没有内容,它是通过javascript引入的,因此搜索引擎永远看不到它。不确定对话框与此有什么关系。
    • 感谢您为我指明方向。让我稍微深入研究一下,看看它是否适合我。我根本不熟悉 HtmlUnit。这样的东西可以在共享主机环境中运行吗?
    猜你喜欢
    • 2014-05-17
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    • 2016-10-23
    • 2014-04-15
    • 2014-01-07
    • 1970-01-01
    相关资源
    最近更新 更多