1

言語 : PHP & Javascript
私は、1024 未満の画面幅用と 1024 より大きい画面幅用の 2 つの CSS を持つサイトを維持しています。

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

ここで、この if 条件の結果を PHP のセッション変数に格納する必要があります。どうすればこれを実装できますか?これは本当に可能ですか? 誰か私を助けてください。

ありがとう。

4

4 に答える 4

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);
}
于 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";
    }

その後、次の 3 つの方法でこれを行うことができます。

1) ajax リクエストを介して css 値をサーバーに送信し、セッションに設定します。

2)css値をsessionStorageに保存しますが、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 に答える