网站架构重新思考

时间:2014-12-17 09:48:24

标签: html architecture

我会尽量简洁,如果您认为有帮助,可以提出进一步的信息。

我们设计并建立了一个提供培训课程的网站。我们将继续增加课程和课程。我们的设计方法是以与设计书籍相似的方式设计课程,每个课程包含许多“页面”,没有滚动,固定大小,文字和图像分别仔细布局,注意流程白色空间的内容和使用。底部的导航栏允许用户转到下一个或上一个“页面”,跳转到课程的任何子部分或跳转到特定的“页面”。

我们已经创建了数百个课程,每个课程的长度大约为20'页。我们简单而有效的方法是为每个课程创建一个单独的html文件,并在其自己的Div中创建每个“页面”。 Div的可见性由窗口底部导航栏(swf文件)调用的JavaScript函数控制。这样,在管理和布置所有内容时,我们没有数千个单独的html文件并导航课程很简单。此外,我们还可以轻松打开完整的课程,并在浏览器中单独查看。

为了完成图片,我们开发了课程html文件,它们作为一个包装器来引入和显示课程集合。课程显示在课程html文件的iFrame中,xml文件用于确定课程包含的课程。

该项目非常成功(这里是“但是”),但我们的客户现在正在增加新课程的长度,这正在迫使我们重新考虑我们的方法。我们的客户有一个非常托管的企业内部网,所有用户都有IE8。查看课程并单击查看课程时,必须下载整个课程才能查看第一个“页面”(当然您知道!)。它之前很慢但是可以接受,现在它变成了一个真正的问题。

所以,最终,问题是:我们如何才能更有效地改进我们提供内容的方法,要求服务器逐页提供而不是整个课程?

当项目启动时,我们的托管网站的客户告诉我们无法创建访问SQL或类似的动态网站,因此我们使用xml数据进行静态处理。我们现在有更多的自由,可以采用更有活力的方法。但是我不想重新开始,因为我们有大量的遗留内容。理想的做法是改进我们当前的方法,但更好地管理下载。

我期待听到你的想法。

此致

克里斯

1 个答案:

答案 0 :(得分:0)

所以你有一些像

这样的javascript
openPage(pageId);

这需要一个div id,隐藏当前的"页面"并打开新的。你可能有一些" pageIds"提供页面间导航的某个地方(或者你可以从div ID中动态构建它,但这会很棘手,区分"页面"正常div ID,所以我&# 39;坚持我的第一个断言,你要保留一份ID列表。

我建议为每个ID添加一个网址,并让javascript根据请求的pageId检查iFrame的位置,如果不同,请加载新的html文件。它可以默认为"当前位置"因此,您不必修改所有现有内容,只需修改javascript。

这将允许您将第一页放在不同的html文件中,然后放在所有其他文件中,并将它们粉碎成适当大小的文件。

如果你很聪明,你将在加载第一页后开始一个过程,然后开始将课程的其他页面拉到浏览器缓存中,以便在用户完成后快速显示它们。第一页。