1

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

var one=screen.width;
if(screen.width<1024)
document.getElementById('cs')='one.css';
否则
document.getElementById('cs')='two.css';

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

谢谢。

4

4 回答 4

2

No. JavaScript is a client-side language, and PHP is a server-side language. By the time your JavaScript is parsed, PHP has been and gone.

于 2013-08-30T12:09:43.000 回答
2

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

于 2013-08-30T12:10:57.803 回答
0

first thing : you dont need php for your mission.It can be done using plain javascript.

Just give it a simple check:

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);
}
于 2013-08-30T12:15:01.693 回答
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值发送到服务器并在会话中设置。

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

sessionStarage.setItem("css", css);

您可以通过以下方式访问此页面加载值

sessionStorage.getItem("css");

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

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

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

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

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

于 2013-08-30T12:23:18.080 回答