我可以将Javascript条件的结果导入PHP变量吗?

时间:2013-08-30 12:07:03

标签: php javascript css

语言:PHP& JavaScript的
我正在维护一个网站,其中我有两个CSS,一个用于屏幕宽度小于1024,另一个用于屏幕宽度大于1024.我通过在Javascript中检查屏幕宽度来匹配CSS,如下所示。

  

var one = screen.width;
if if(screen.width< 1024)
  的document.getElementById( 'CS')= 'one.css';
其他
  的document.getElementById( 'CS')= 'two.css';

现在我希望将if条件的结果存储到PHP中的会话变量中。我该如何实现这一点,这真的有可能吗?有人请帮帮我。

谢谢。

4 个答案:

答案 0 :(得分:2)

没有。 JavaScript是一种客户端语言,PHP是一种服务器端语言。在解析JavaScript时,PHP已经过去了。

答案 1 :(得分:2)

是。您可以使用数据进行ajax调用并设置会话变量。我希望你知道ajax。

答案 2 :(得分:0)

第一件事:你的任务不需要php。可以使用普通的javascript来完成。

只需简单检查一下:

var parameter_one = "http: //stackoverflow.com/one.css";  //your absolute path
var parameter_two = "http: //stackoverflow.com/two.css"

if (screen.width < 1024) {
    load_me(parameter_one)
} else {
    load_me(parameter_two)
}

function load_me(file) {
    var head = document.getElementsByTagName('head')[0];
    var link = document.createElement('link');
    link.rel = 'stylesheet';
    link.type = 'text/css';
    link.href = file;
    link.media = 'all';
    head.appendChild(link);
}

答案 3 :(得分:0)

首先在变量css中存储css文件名。

   if(screen.width<1024){
        document.getElementById('cs').value ='one.css';
        var css = "one.css";
    }else{
        document.getElementById('cs').value ='two.css';
        var css = "two.css";
    }

之后你可以用三种方式做到这一点:

1)通过ajax请求向服务器发送css值并将其设置为session。

2)在sessionStorage中保存css值,但它仅适用于html5

sessionStarage.setItem("css", css);

您可以通过

访问此页面值
sessionStorage.getItem("css");

3)在javascript中保存cookie中的css值

document.cookie = "css="+css+";";

当您向服务器发送请求时,Cookie会发送到服务器。你可以在会话变量中设置它。

$_SERVER["css"] = $_COOKIE["css"];

我认为这将是有效的方式。