基于javascript中的会话变量设置特定的样式表
Set a specific stylesheet based on session variable in javascript
我有一个选项,用户可以在登录系统时选择自己的主题,这个主题在MYSQL数据库中设置,每次用户登录时都会调用,调用方式为:
<?php $_SESSION['SESS_THEME_NAME']; ?>
现在,我在一个PHP文件中完成了这项工作,但不幸的是,我需要它在Javascript中工作。我需要一些帮助。我使用Google Chrome上的开发工具查看了这些代码,看起来上面的代码没有在javascript文件中解析。这是有道理的,因为你不能访问javascript文件中的会话变量(正如我在谷歌搜索中发现的那样)
该代码基本上应该根据从MYSQL数据库中提取的值来设置特定的样式表。因此,如果数据库说Default
,脚本需要告诉网页使用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'>");
};
任何曾经的帮助都将是非常棒的,非常感谢!我到了最后期限:/
我觉得你把这种方式搞得太复杂了。为什么不直接用PHP写出<link>
标记呢?
$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文件命名为foo.php
。
在内部,您可以使用PHP:
<?php
header('Content-type: application/x-javascript');
session_start();
?>
var theme_name = "<?php echo $_SESSION['SESS_THEME_NAME']; ?>";
...
相关文章:
- 对插件初始化后动态加载的元素进行样式设置
- 使用jQuery按条件将样式设置为html标记
- 将 href 样式设置为按钮
- 如何以类似于vivus.js的样式设置SVG填充和路径的动画
- 根据用户输入声明样式设置
- 更改:在使用Javascript进行样式设置之前
- 反应:使用内联样式设置所有元素的样式
- 在AngularJS中构建SPA应用程序与纯JavaScript - 选择哪种Boostrap进行样式设置
- 我将如何使用CSS3对动态创建的jQuery UI元素进行样式设置
- Tumblr JS嵌入CSS/HTML标签进行样式设置
- 如何使用 ng 样式设置元素宽度 % 的样式
- 如何使用 Web 浏览器控件进行样式设置,但具有 C# 中的逻辑
- 从 javascript 获取样式设置时出现问题
- 样式设置 jQuery 验证错误消息
- 使用 React-Toolbox 的按钮进行样式设置不起作用
- 如何将离子输入类型文件的样式设置为按钮
- 如何将加载到<对象>中的元素样式设置为数据
- CKEDITOR没有't对来自数据库的文本进行样式设置
- 如何对一个元素进行ng样式设置's$索引由ng repeat创建
- D3可以't将样式设置为带标题的对象