【问题标题】:How to generate a set of multiple HTML pages with javascript如何使用 javascript 生成一组多个 HTML 页面
【发布时间】:2018-08-03 00:34:15
【问题描述】:

我正在创建 Web 应用程序,它将从导入的 json 文件中的数据生成一组相关的 html 页面(每个页面就像一个步骤),每个页面都或多或少地遵循预定义的格式,我不能使用任何服务器语言。

有哪些可能的方法来实现这一点?

我知道我可能会使用模板框架,但我认为它会在一个文件中生成所有内容,并且页面将无法添加书签,或者我可以在 url 中使用 #ids。

还有其他/更好的方法吗?

【问题讨论】:

    标签: javascript jquery html angularjs frontend


    【解决方案1】:

    您在浏览器中使用 JavaScript 作为客户端语言,您无法使用它在服务器上创建 HTML 页面。您可能指的是一个单页网站,其中 JavaScript 使它看起来像是有子页面。

    在最简单的情况下,当一个“链接”实际上只是一个带有附加事件的元素被点击时,无非是改变<p>标签的内容。

    至于内容,您可以将所有子页面硬编码到一个页面中,或者通过 AJAX 从服务器上的其他真实 HTML 页面或某些 API 加载它。

    你指的是什么

    在网址中使用#ids

    只是使用哈希来存储状态,就像在可能的子页面中的“位置”中一样。这有一些优点,例如允许通过包含哈希的链接直接访问子页面,以及在您的系统中启用浏览器的本机返回和转发功能。

    【讨论】:

      【解决方案2】:

      如果没有服务器端脚本,您将拥有一个 html 页面,该页面将自行构建以代表您的一个步骤。

      如果您希望能够到达特定步骤,那么在 url 中使用 #id 是最好的方法。

      如果您真的希望每个步骤都有一个单独的页面,那么您必须在每个步骤中创建一个静态页面,并且该页面可以根据 window.location.pathname 自行设置,但这变得笨拙并且只有在您有固定步数。

      您最初可能会避免使用模板框架,但事实是您最终只会发明自己的框架!

      我建议您使用Knockout。他们的教程内容丰富。不要因为它是一个 MVVM 平台而望而却步,它小巧易学。

      除了Knockout来执行动态内容创建,你还可以使用Sammy来处理基于url中#id的路由。

      祝你好运

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-29
        • 2015-02-24
        • 2017-01-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多