0

我目前正在开发自己的作品集,我对使用哪种架构有一些疑问。

目前,我有一个index.html页面,其中包含当有人到达该网站时我想要显示的所有信息。我还有一个/views/文件夹,其中包含其余内容(例如cv.htmlabout_me.html...)

当我从菜单中单击一个元素时,它会使用 jQuery 将适当的内容加载到我的“内容”div 中。所以用户总是停留在同一个页面(索引页面)上,但是内容会发生变化。

但是,我正在尝试使该网站以不同的语言提供,我想知道如何做到这一点。我想/eng/在我的文件夹中有一个文件/views/夹,只有英文的 HTML 内容。然后我会检查语言是否设置为英语,以便知道使用 jQuery 将哪些内容包含在页面中。

但我不知道我将如何做到这一点,这种方法有多好,或者使用哪种方法来解决这个问题。另外,使用 Javascript 更改 div 内容的方式是我做的好习惯吗?你会推荐什么 ?

4

2 回答 2

0

改写你的问题:“一个简单的解决方案对一个简单的问题有好处吗?”。

不要过度设计。

于 2013-04-25T19:00:28.393 回答
0

我认为你有一个很好的解决方案。

在您的 javascript 文件中,只需为该语言声明一个具有默认值的变量。

var lang = 'eng';

加载页面时:

$('#link').on('click',function(e) {
    e.preventDefault();

    var path_to_load 'views/'+lang+'/'+$(this).attr('href');
        // Do normal .load or .ajax here
});

更改语言时,您可以使用带有data-lang-code="eng"或的按钮或链接data-lang-code="no",或任何您喜欢的东西。

$('.lang_choices').on('click',function(e) {
    e.preventDefault();

    lang = $(this).data('lang-code');
    // Load frontpage for the new language here.
});

编辑:此解决方案建立在您的 - 文件夹中不同语言的子文件夹的想法/views/之上。

超级编辑:关于你问的最后一个问题。使用ajax加载部分页面是很典型的WEB2.0。看看 Facebook 是如何做到的。更少的刷新 = 更快的加载时间。此外,在使用 ajax 时,您还有许多简洁的功能。淡入内容,让 div 动画到一侧,新内容从另一侧“飞入”。我试图在我认为合适的地方尽可能多地使用 ajax。除非您的网站非常复杂并且有很多不同的设计(从您的问题来看,它看起来不是那样),否则我建议您继续使用此解决方案。

于 2013-04-25T21:28:10.987 回答