【发布时间】:2014-08-30 22:28:05
【问题描述】:
当我点击三种语言标志(德语、法语和英语)中的任何一种时,我正在尝试直接更改我的网站的语言,而无需重新加载页面。
为了与语言保持一致,我在单击标志后保存了一个名为 lang 的 cookie。
我有一个函数LangText($de, $fr, $en);,它根据客户端 cookie 存储的内容显示正确的文本。
这是我的功能:
function LangText($de, $fr, $us){
if(!isset($_COOKIE["lang"]) || $_COOKIE["lang"] == "de") echo $de;
else if($_COOKIE["lang"] == "fr") echo $fr;
else if($_COOKIE["lang"] == "us") echo $us;
else return 0;
}
到目前为止,我一直在将用户重定向到存储 cookie 的 php 上,并将用户重定向到上一个站点。 有没有可能在不重新加载的情况下实现这一点?
【问题讨论】:
-
如果您从未听说过 Ajax,那将是一个选择。
-
我已经听说过 ajax,但我没有意识到这一点,而且我在万维网上也没有找到任何有用的答案。
-
如果您提供有关网站可搜索性的任何信息,则不应将语言放入 cookie(搜索引擎不发送 cookie),而应将其作为 URL 的一部分。既然这将是一个完全不同的资源,那么简单地链接到它会更有意义。这整个“我不想重新加载我的页面,我只想切换内容”的理念在很多情况下都是相当荒谬的,这就是其中之一恕我直言。
-
感谢您的诚实意见,但我的网站不会在搜索引擎上列出,因为我们公司正在使用其他方法进行自我营销。我只是想动态优化我们的网站。
-
“更改语言而不重新加载”意味着您需要在一页中加载所有可用的语言,然后显示用户选择的语言。否则,您必须以某种方式获取新内容。
标签: javascript php cookies