对不起我的众神,但是......
我有php,文件,在这个php我设置语言,并包含必要的lang文件:
...
if ($lan=='ge') {$_SESSION['lang']='german';...}
if ($lan=='en') {$_SESSION['lang']='english'; ....}
}
if ($_SESSION['lang']=='english'){
include ..english
}else{
include ...german
}
我在我的网站中使用Yshout,并希望将其设为multilang。在JS文件中,开发人员使用一些文本,我必须使它成为多语言。
所以在JS文件中第一行:
`<?php header('Content-type: text/javascript');?>
在php中:
<script src="/js/yshout.php" type="text/javascript"></script>
现在我可以在JS文件中使用PHP了。所以我尝试使用而不是修复文本。但没有结果,'因为JS不知道$ text变量。如果我在JS中包含语言文件然后确定,但我必须包含necessery语言文件,这不起作用,'因为JS在运行时不知道$ _SESSION ['lang']变量。
告诉JS必须包含哪个语言文件的最简单方法是什么?
谢谢
答案 0 :(得分:2)
当客户端请求/js/yshout.php时,在服务器上创建一个(完全)新的php实例来处理这个新请求。此新实例不共享为html文档请求提供服务的“旧”实例的变量(包括&lt; script ... src =“yshout.php”&gt;元素)。
因此,如果要访问会话数据,则必须再次调用session_start()
并(正如您已经注意到的那样)为要使用的所有变量赋值。
答案 1 :(得分:0)
您需要使用PHP并修改脚本,而不是使用J来包含您的文件。并且因为你在Js文件中放了以下行,但代码是PHP的代码,它不会执行:
<?php header('Content-type: text/javascript');?>