こんにちは、すべてのJavascriptとウィジェットのエキスパートです。
ウィジェットを有効にして同じページに2回含めることができるようにする方法を見つけようとして、過去2日間頭を悩ませています。
これが私がしたことです
1.driver.js(必要なものをすべてロードします)jquery、jquery-ui、wdcreate.jsをロードし、document.write呼び出しを介してtabs.jsを設定します。
2.wdcreate.js(タブリストとコンテンツを作成します)複雑なことは何もありません。UIとLIのリストだけで、wHTMLに割り当てられた3つのタブコンテンツを作成し、
document.getElementById(tabid+"_mywidget_container").innerHTML = wHTML;
3.settabs.js(理想的にはタブを有効にすることになっています)には、タブコンテナをロードするための1行しかありません
$(document).ready(function() {$( "#"+tabid+"_mywidget_container" ).tabs();});
4.index.html-(ウィジェットを含むテストページ)このページには2つのウィジェットが含まれています
<script type='text/javascript'>
var tabid='001';
document.write('<scr'+'ipt type="text/JavaScript" src="http://localhost:8080/demo/driver.js"></scr'+'ipt>');
</script>
<div id="001_mywidget_container"></div>
<script type='text/javascript'>
var tabid='002';
document.write('<scr'+'ipt type="text/JavaScript" src="http://localhost:8080/demo/driver.js"></scr'+'ipt>');
</script>
<div id="002_mywidget_container"></div>
ここで問題となるのは、index.htmlファイルにウィジェットを1つだけ含めるとタブがレンダリングされることです。さらに、2つまたは3つ含めると、失敗します。
何か提案や私がしなければならないことは何ですか?私はこの小さなプロジェクトをまとめて検索して問題を特定しようとしましたが、元々はプレーンなjavascriptを使用していて、jQueryに戻りました(私はJavascriptのエキスパートではありません)。これはwindow.onLoadで何かをしなければならないことを理解してください
また、settabsでは、tabidを動的に割り当てる代わりに、tabwidget idごとに1つずつ2つの呼び出しを使用すると、2つのタブコンテナが読み込まれることに注意してください。
1つのトピックの情報を表示する1つのタブコンテナ、別のトピックの別のタブコンテナなど、1つのページに複数のウィジェットを含めることができます。したがって、6つのトピックに関する情報を表示できるページを探しているユーザーには、6つのウィジェット/タブコンテナが含まれます。同じページ..。
すべてのあなたの助けに感謝します。再度、感謝します。
こちらもこちらのページです
http://www.werindia.com/demo/index1.html - widget included one time
http://www.werindia.com/demo/index2.html - widget included two times. in reality this could be any non zero number
http://www.werindia.com/demo/driver.js
http://www.werindia.com/demo/wdcreate.js
http://www.werindia.com/demo/settabs.js
これは静的コンテナを含むページですが、実際にはこれらは動的になります
http://www.werindia.com/demo/index3.html