2

あるページから別のページに CSS プロパティを取得する方法はあるのでしょうか。

簡単に説明しましょう - 私は と という 2 つの Web ページを持っていone.htmlますtwo.htmlone.htmlというボタンがありdarkviewます。ユーザーがボタンをクリックすると、 one.htmlの背景色が変わります。

同じページにリンクがあります。ユーザーがそれをクリックすると、2 ページ目 ( two.html) に移動します。しかし、問題は次のとおりです。one.html で背景色を変更しました。これを 2 番目のページにも適用したいと考えています。では、そのプロパティを取得して 2 番目のページに適用するにはどうすればよいでしょうか。

ここに私が書いた数行のコードがあります

(JavaScript または jQuery を使用することで問題を解決できます。)

4

3 に答える 3

2

localStorageまたはを使用sessionStorageしてブラウザ レベルの設定を維持するか、現在の状態を維持できる Web サーバーでセッションを行うことができます。

Http はステートレスです。つまり、以前の状態やリクエストを記憶できないことを意味します。これが、セッションが作成される理由、またはクライアント側でローカル ストレージ、sessionStorage、または Cookie でさえ作成される理由です。で変数に状態を保存しlocalStorage、で取得するだけpageLoadです。

于 2012-12-03T12:34:08.247 に答える
1

Cookieを使用して状態を保存し、Cookieが存在するかどうかとその値を簡単に確認できます。クッキーがない場合は、デフォルトで切り替えてください。

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x==c_name)
    {
    return unescape(y);
    }
  }
}
function checkCookie()
{
var theme=getCookie("theme");
  if (theme!=null && theme!="")
  {
  setTheme(theme);
  }
else 
  {
  theme="light";
  if (theme!=null && theme!="")
    {
    setCookie("theme",theme,365);
    }
  }
}
于 2012-12-03T12:38:48.583 に答える
0

これが役立つと思います。一時的なclientSideストレージにsessionStorageを使用できます。値を永続化する場合は、localStorageを使用できます

One.html

<form>
     <input type="button" value="darkview" id="newColor"  />
</form>
<script>
window.onload = function() {
    var color = document.getElementById('newColor');
    color.onclick = function() {
        document.body.style.backgroundColor = '#ddd';
        window.sessionStorage['currentColor'] = '#ddd';
    }
}
</script>

Two.html

<script>
window.onload = function() {
    var color = window.sessionStorage['currentColor'];
    document.body.style.backgroundColor = color;
    }
}
</script>
于 2012-12-03T12:36:51.510 に答える