1

HTML サイトのリンクから、2 つの異なるタブを持つ TabContainer が配置されている別のサイトに移動したいと考えています。

宛先のhtmlファイルで、デフォルトで(保持したい)1つのタブが選択されています。

これが機能するようにリンクを配置するにはどうすればよいですか? ネットでいくつかのドキュメントを見つけましたが、何も機能しません。したがって、おそらく誰かが私にこれをばかげた方法で説明する必要があります。

宛先の TabContainer は次のとおりです。

<div dojoType="dijit.layout.TabContainer" region="center" tabStrip="true">
<div dojoType="dijit.layout.ContentPane" title="Contact" selected="true">
some text
</div>
<div dojoType="dijit.layout.ContentPane" title="Imprint" selected="true">
some text
</div>

タイトル「インプリント」に自動的に移動するためのリンクを配置したい。

誰か助けてくれませんか?

どうもありがとう、そして最高のTTP

4

1 に答える 1

0

javascriptから選択するか、サーバーからselected属性toを使用してタブのマークアップを生成trueできます(もう一方をに設定する必要がありますfalse)。この2番目の選択肢は、サーバーテクノロジーによって異なります。

最初のオプションでは、コンテナとタブにIDを追加し、ページの読み込みが完了したらタブを選択します。何かのようなもの:

<div id="tabContainer" dojoType="dijit.layout.TabContainer" region="center" tabStrip="true">
  <div id="tab1" dojoType="dijit.layout.ContentPane" title="Contact" selected="true">
    some text
  </div>
  <div id="tab2" dojoType="dijit.layout.ContentPane" title="Imprint" selected="false">
    some text
  </div>
</div>

<script>
  dojo.ready(function() {
    dijit.byId('tabContainer').selectChild(dijit.byId('tab2'));
  });
</script>

いずれかのタブを動的に選択する場合は、URLで何らかのパラメータをページに渡す必要があります。クエリパラメータ(?シンボルの後の変数)またはハッシュフラグメント(後の変数)を使用できます#。サーバーとJavaScriptの両方から読み取ることができるクエリパラメータ。javascriptからのみフラグメントをハッシュします。

オブジェクトを検査することにより、これらのパラメーターにアクセスできlocationます。たとえば、ハッシュフラグメントを使用して、のようにページにリンクしますhttp://host/page.html#imprint。次に、<script>上のタグで:

<script>
  dojo.ready(function() {
    if (location.hash == '#imprint') {
      dijit.byId('tabContainer').selectChild(dijit.byId('tab2'));
    }
  });
</script>

クエリパラメータについては、も参照してくださいdojo.queryToObject()

于 2011-06-16T19:29:29.323 に答える