我有一个PHP脚本,我想在其中使用localStorage变量(“语言”),该变量在加载脚本时已在浏览器中设置。 我已经尝试存储它,但是在我的PHP变量中,即使我在网站上选择了将localstorage变量设置为例如的另一种语言,也仅存储了“ null”值。 “ 2”(我在浏览器中检查过)。
我已经尝试使用inval函数将PHP变量转换为整数,但这无济于事。 我知道我必须使用POST或GET方法将变量从客户端发送到服务器,但是我不知道如何。
<?php
$Sprache = "<script>document.write(localStorage.getItem('language'))</script>";
echo "$Sprache<br>";
if($Sprache == 2)
{
echo "localStorage -> 2"; //german
$language = 1;
}
elseif($Sprache == 1)
{
echo "localStorage -> 1"; //english
$language = 0;
}
elseif($Sprache == 0)
{
echo "localStorage -> 0"; //default
$language = 1;
}
?>
在另一个网站上使用的languageHandler.js文件如下所示:
function languageHandler() {
this.actLanguage = storageHandler.getItem('language') || 0;//Wenn die
Variable 'language' im LocalStorage undefined ist, wird der lokalen
Variablen this.actlanguage der Deafult-Wert 0 übergeben
storageHandler.setItem('language', this.actLanguage );//Der Default-Wert
wird anschließend in den Local Storage ('language') geschrieben.
}
languageHandler.prototype.setActLanguage = function(lang) {
this.actLanguage = lang;
storageHandler.setItem('language', lang);
};
languageHandler.prototype.getActLanguage = function() {
return this.actLanguage;
};
languageHandler.prototype.initLanguages = function() {
jQuery.each(config.languages, function(index, language) {
jQuery('#languages').append('<span onclick="languageHandler.switchLanguage(\'' + language.id + '\');"><img lang="' + language.id + '" src="' + language.flag + '"></span>');
});
jQuery('#languages img[lang="' + this.actLanguage + '"]').addClass('active');
storageHandler.setItem('language', this.actLanguage);
// this.sendLanguageToWs();
};
languageHandler.prototype.switchLanguage = function(lang) {
this.setActLanguage(lang);
jQuery('#languages img').removeClass('active');
jQuery('#languages img[lang="' + lang + '"]').addClass('active');
alpacaFormsHandler.refreshAllAlpacaForms();
// this.sendLanguageToWs();
};
languageHandler.prototype.sendLanguageToWs = function() {
wsHandler.sendToWs({
type: 'setLanguage',
data: this.actLanguage
});
};
这是我的输出:
空
localStorage-> 0
我认为我的连接是问题。