0

CSS テンプレート用の独自のテンプレート セレクターを開発しています。現時点では、選択ボックスから名前をクリックするとテンプレートが変更され、正常に動作します。ただし、不足している機能が 1 つあります。

ここを見ると: http://www.demo.joomforest.com/?template=corporate

?template=corporateURLの末尾に含まれていることが明らかなため、その URL を入力すると、企業テンプレートが読み込まれます。

これはこれまでの私のセレクタです: http://joomjunk.co.uk/demo

ご覧のとおり、テンプレートを選択する際に URL の末尾にハッシュ + テンプレート名を追加しましたが、たとえばその URL をコピーして新しいタブに貼り付けると、既定のテンプレートが読み込まれます。

私の質問は、どうすれば ?template=corporate に似たものを追加し、その特定の URL を読み込むときに正しいテンプレートを読み込むことができるでしょうか?

完全なコードを求めているわけではありませんが、正しい方向に向けるためです。

前もって感謝します。

4

2 に答える 2

1

のようなURLがある場合は、JavaScriptをhttp://foo.bar/#corporateチェックして、そのテンプレートをすぐにロードできます。window.location.hash

ドロップダウンにすでにハッシュを追加しているので、妥当なようです。ユーザーがページを更新することを選択した場合、ユーザーには同じテンプレートが表示されます。

プロパティに基づいて右側のドロップダウンメニュー項目でクリックイベントをトリガーできる場合もありますhashが、その場合はDOMが完全に読み込まれている必要があります。

于 2012-08-30T16:33:01.680 に答える
1
window.location.search

これには?、URLの後に続くものがすべて含まれます。?

もしも

window.location.href === "http://www.demo.joomforest.com/?template=corporate"

それから

window.location.search === "?template=corporate"

クエリ文字列を解析する場合は、利用可能なリソースがたくさんあります。ただし、この特定のケースでそれを実行したい場合は、次のようにします。

var tmpl = window.location.search.split('=')[1];
// tmpl === "corporate"

これにより、文字列が分割さ=れ、配列の2番目の要素が返されます

于 2012-08-30T16:33:16.760 に答える