2017-05-22 6 views
1

こんにちは私はJavaの春のプロジェクトです。フォントサイズ、背景色、ウィンドウサイズを変更するオプションをユーザに与えたい実行時、すなわちシステムへのログイン後。プロジェクトには複数のCSSページが含まれ、.jsページで呼び出されます。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. ユーザーはシークレットモードでどのように動作しますか?

誰か他の実現可能な解決策を提案できますか。私はインターンとして働いており、これが私が割り当てられた最初の仕事です。 TIA

+0

を生成し、現在のJSON値をチェックした場合これに対しては、「innerHTML」ではなくhttps://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_Model/Using_dynamic_styling_information –

+0

なぜJqueryプラグインを使用しないのですか? –

+0

ScottとSalehにお返事いただきありがとうございます。私のプロジェクトには複数のjavascriptとJSPページがありますので、システム全体に反映されるように変更を行うことができる共通の方法が必要です。 400のjsとjspページがあります。あなたがここに何かを提案できるならば。私は今、Web開発者のインターンで、物事を学んでいます。お返事ありがとうございます。 –

答えて

0

複数の方法があります。あまりにも多くの質問には未回答があります。

私はあなたがスプリングバックエンドを使用しており、あなたのページは単一ページアプリケーションではないと仮定しています。

  1. ユーザーがログアウトすると、スタイルシートがキャッシュに保存されますか?

    どのようにログアウトするかによって異なります。ログアウト時に別のページにリダイレクトした場合、作成したページは使用できなくなり、サービスワーカーを使用してキャッシュに変更を保存しない限り、またはページ全体の設定1ページアプリです。

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

    また、スタイルシートの作成方法によって異なります。既存のスタイルシートを削除して、新しいスタイルシートを挿入することができます。この方法では、ユーザーごとに1つのスタイルシートしか存在しません。

  3. ユーザーはシークレットモードでどのように動作しますか?
    サービスワーカーを使用してキャッシュしていない場合、この影響はありません。あなたは何ができるか

は、JSON値として

  1. 保存ユーザーの好みですし、そのJSONを使用してスタイルシートを作成し、ユーザーが明確に既存のスタイルシートをオフにログインすると
  2. 値。
  3. 再び同じユーザログは、それが存在だ場合、再度スタイルシートを生成したり、他のサーバーから好みをフェッチして、あなたがCSSOMを使用する必要があり、スタイルシート
+0

ありがとうございます。私のプロジェクトには複数のjavascriptとJSPページがありますので、システム全体に反映されるように変更を行うことができる共通の方法が必要です。 400のjsとjspページがあります。あなたがここに何かを提案できるならば。 jsonの値を取得することでそれを行うのは良い考えです。私は試して戻ってくるだろう。私は今、Web開発者のインターンで、物事を学んでいます。ありがとう –

+0

あなたはまずjson値としてユーザー設定を保存してから、それらのjson値を使ってスタイルを作成する関数を作成する必要があります。すべてのページで共通の単一のjsファイルを持っている限り、jsファイルまたはjspページの数について心配する必要はありません。 – karthick

関連する問題