2017-05-22 24 views
0

システムにログインした後に、実行時にフォントサイズ、背景色、ウィンドウサイズを変更するオプションをユーザに与えたいと考えています。プロジェクトには複数のCSSファイルが含まれており、JavaScriptファイルで呼び出されます。実行時にCSSファイルを更新し、フォントサイズ、背景色、ウィンドウサイズを変更する

私はゴーグルにこのソリューションを持っているが、それはいくつかの他の質問提起:

溶液Aを:私たちは、新しいスタイルの要素を作成するためにdocument.createElement機能を使用することができます。

var sheet = document.createElement('style') 
sheet.innerHTML = "div {border: 2px solid black; background-color: blue;}"; 
document.body.appendChild(sheet); 

この文では、その時点でCSSスタイルシートを作成し、後で同じコードでスタイルシートを削除できます。ユーザーの好みに基づいて異なるスタイルシートを切り替えることで、複数のスタイルシートを設定し、現在のサイト訪問者が表示したいものだけを有効にすることができます。

私はここに来るの質問は以下のとおりです。使用してログインしたら

  1. それがキャッシュ内に滞在する、作成したスタイルシートに何が起こるのでしょうか?

  2. キャッシュに残っている場合、インターフェイス設定を変更した回数やユーザーごとに1つだけに応じて、ユーザーごとに複数のスタイルシートがありますか?

  3. ユーザーはシークレットモードでどのように動作しますか?

誰かが他の実現可能な解決策を提案できる場合。

答えて

1

いいえ、作成されたスタイルシートはキャッシュされません。
実際には、JSコードで動的に作成されるため、ページが開いている間のみ存在します。ページがリロードされるか、閉じられて再び開くと、スタイルシートを再度作成する必要があります。

このような機能を自分で作成する場合は、キャッシュする方法はさまざまです。それを保存し、取得し、再作成し、ログアウト時に無効にし、コード内のそのような機能をすべて管理する必要があります。

自動キャッシュ機能がないため、シークレットモードは他のブラウザストレージと同じように動作します。つまり、現在のシークレットセッション以外に保存されているものにアクセスできず、現在のシークレットセッションに保存されているものはセッションが閉じられています。

+0

ご返信ありがとうございます –

関連する問題