从另一个页面抓取HTML

时间:2014-10-14 15:05:07

标签: javascript html

我有两个HTML文件:一个用作模板,提供导航,侧边栏等,另一个用作主要内容。我试图弄清楚如何最好地将内容插入到模板中。我需要持久性URL,所以我的计划是让内容页面基本上用模板替换自己,将文本插回到生成的页面中。我对前端编程很陌生,我怀疑这可能是一种反模式,所以我的第一个问题是关于我是否正在咆哮正确的树。问题似乎是普遍存在的,我确信必须有一个最好的做法,尽管我还没有看到它被讨论过。如果 是一种可接受的继续方式,那么JavaScript函数允许我同时访问两个不同页面的HTML?

[编辑:这是GitHub上的一个小页面]

1 个答案:

答案 0 :(得分:1)

不要这样做。在当前实现中,HTML不是设计为模板引擎。您可以使用HTML import但它在浏览器中没有完全支持。 (compatibility table)。

通常可以通过以下方式解决此问题:

  • 使用前端框架。像angular.js或polymer.js(和so on)这样的库通常支持以不同的形式导入HTML文档。

  • 构建应用程序HTML 。像grunt.js这样的任务运行者通常has plugin包含HTML。

  • 使用服务器端技术从基础布局扩展HTML

如果您的应用程序必须由不同的HTML组成,我建议您尝试polymer。它是用于Web组件的polyfill,并且默认设计为以这种方式工作。

<强> UPD:

关于编辑问题。看起来你只需要HTML的模板引擎。你可以google它。我使用nunjucks - python的模板引擎jinja2的javascript端口。它轻巧,简单,可以在浏览器中编译。

另一种方法是使用特殊工具来构建静态网页。您已经提到您的页面是来自简单HTML页面的博客构建。尝试使用pelican。它是静态网站(博客)生成器。它简单而快速。您甚至可以在本地计算机上构建HTML,只需将HTML页面推送到github。