对不起,我的上帝,但是......
我有 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,并希望使其成为多语言。在 JS 文件中,开发人员使用一些文本,我必须将其设置为多语言。
所以在 JS 文件中第一行:
`<?php header('Content-type: text/javascript');?>
在 php 中:
<script src="/js/yshout.php" type="text/javascript"></script>
现在我可以在 JS 文件中使用 PHP 了。所以我尝试使用而不是修复文本。但没有结果,因为 JS 不知道 $text 变量。如果我在 JS 中包含语言文件,那么就可以了,但是我必须包含必要的语言文件,这是行不通的,因为 JS 在运行时不知道 $_SESSION['lang'] 变量。
告诉 JS 必须包含哪种语言文件的最简单方法是什么?我该如何做到这一点?
谢谢
最佳答案
当客户端请求/js/yshout.php 时,服务器上会创建一个(完全)新的 php 实例来处理这个新请求。这个新实例不共享服务于 html 文档请求的“旧”实例的变量(包括 <script ...src="yshout.php"> 元素)。
因此,如果您想访问 session 数据,您必须再次调用 session_start()
并(正如您已经注意到的那样)为您要使用的所有变量赋值。
关于PHP 变量到 JS - 一遍又一遍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1939180/