ブラウザで JS が無効になっている場合、plone サイトの読み込みを無効にしたいと考えています。コードを正確にどこで変更しますか? どのテンプレート/スキンを選択すればよいですか? plone サイトのどの部分をブラウジングしても、JS が常に有効になっていることを確認したいと考えています。閲覧中に JS が無効になっている場合は、タグを使用して別のページにリダイレクトし、ブラウザーで JS を有効にして、有効になっている場合はサイトへの hlink を返すことができます。私はPlone 4.1を使用しています
3 に答える
ユーザーがブラウザの設定から自分で行わない限り、JS を有効にする方法はありません。noscript
次のようなタグを使用して、JavaScript を有効にする方法についての説明を追加したり、説明のあるページにリダイレクトしたりできます。
<noscript>
<meta http-equiv="Refresh" content="5;url=http://example.com/foo/bar.php?js=false" />
</noscript>
タグは 5 秒で JSのmeta
ないページにリダイレクトし、ブラウザが戻るボタンをクリックして現在のページに移動できるようにします。この記事によると、リダイレクトの時間が短すぎると、ページが履歴に保存されない可能性があります
クッキーも要求しますか? もしそうなら、これを解決する1つの方法は次のとおりです。
- Plone のメイン テンプレートを変更して、特定の Cookie のテストを含めます。
- その Cookie が見つからない場合 (テンプレート ロジックでテスト)、「おっと、js が必要です」というコンテンツを表示します。
- その非 Cookie コンテンツ セクションに、インライン JavaScript を含めて Cookie を設定し、ページをリロードします。js による Cookie の設定を許可したくない場合でも、リダイレクトでクエリ パラメータを設定できます。
- Cookie またはクエリ パラメータが見つかった場合は、実際のコンテンツを返します。クエリ パラメータの場合は、http のみの Cookie を設定します。
Cookie やその他のセッション メカニズムを回避したい場合は、別の方法として次のような方法があります。
Plone のメイン テンプレートを次のように変更します。
- ビジュアル ポータルまたは同様のラッパーで display:none スタイルを設定します。
- 表示スタイルをオンにして、このページを表示するために必要な JavaScript のメッセージを追加します。
- インライン JavaScript を挿入して、JS に必要なメッセージに display:none を設定し、ビジュアル ポータル ラッパーに display:block を設定します。
これに関する落とし穴は、ページが実際には js なしで読み込まれ、表示されないことです。また、他のリソースが読み込まれている間に js-needed メッセージが表示される可能性もあります。影響を最小限に抑えるために、JS ディスプレイのいじりがインラインであることを確認してください (ページの準備やその他のイベントにキーイングされていません)。
JavaScript
ページは、静的ページを置き換えるによって読み込まれる必要がありますPlease enable JavaScript in your browser
。これが問題を解決する唯一の方法です。
私は経験がなく、Plone
どのテンプレートがそれを行うのかわかりません。