我有一个选项让用户在登录系统时选择他/她自己的主题,该主题在 MYSQL 数据库中设置并在用户每次登录时调用,调用方式为:
<?php $_SESSION['SESS_THEME_NAME']; ?>
现在,我可以在 PHP 文件中使用它,但不幸的是我需要它在 Javascript 中工作。我需要一些帮助。我使用 Google Chrome 上的开发人员工具查看了代码,看起来上面的代码没有在 javascript 文件中解析。这是有道理的,因为您无法访问 javascript 文件中的 session 变量(正如我通过搜索 Google 发现的那样。)
代码基本上应该根据从 MYSQL 数据库提取的值来设置特定的样式表。因此,如果数据库显示“默认”,则脚本需要告诉网页使用“default.css”文件。等等等等。
我写这篇文章的尝试如下:
var themName="<?php $_SESSION['SESS_THEME_NAME']; ?>";
if (themeName == "Default")
{
document.write("<link re='stylesheet' type='text/css' href='css/mws-theme.css'>");
};
if (themeName == "Army")
{
document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-army.css'>");
};
if (themeName == "Rocky Mountains")
{
document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-rocky.css'>");
};
if (themeName == "Chinese Temple")
{
document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-chinese.css'>");
};
if (themeName == "Boutique")
{
document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-boutique.css'>");
};
if (themeName == "Toxic")
{
document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-toxic.css'>");
};
if (themeName == "Aquamarine")
{
document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-aquamarine.css'>");
};
任何一次帮助都会很棒,非常感谢!我即将到达最后期限:/
最佳答案
我认为你把这种方式搞得太复杂了。为什么不直接写出 <link>
直接使用 PHP 标记?
$themes = array(
'Default' => '',
'Army' => '-army',
'Rocky Mountains' => '-rocky'
// etc...
);
echo "<link rel='stylesheet' type='text/css' href='css/mws-theme-{$themes[$_SESSION['SESS_THEME_NAME']]}.css'>";
关于javascript - 根据 JavaScript 中的 session 变量设置特定的样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17311431/