您好所有 Javascript 和 Widget 专家。
在过去的两天里,我一直在挠头,试图弄清楚如何启用我的小部件,以便它可以两次包含在同一页面上。
这是我所做的
1.driver.js(加载所有需要的)加载jquery,jquery-ui,wdcreate.js,通过document.write调用设置tabs.js。
2.wdcreate.js(创建标签列表和内容)没什么复杂的,只是一个ui和li列表来创建3个标签内容分配给wHTML,然后通过加载内容
document.getElementById(tabid+"_mywidget_container").innerHTML = wHTML;
3.settabs.js(理想情况下应该启用标签)只有一行来加载标签容器
$(document).ready(function() {$( "#"+tabid+"_mywidget_container" ).tabs();});
4.index.html -(包含小部件的测试页面)该页面仅包含两个小部件
<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 文件中只包含一个小部件,则会呈现选项卡,如果我为此包含两个或三个小部件,它会失败..
有什么建议或我必须做什么?我已经尝试搜索并隔离这个小项目的问题,最初是使用纯 javascript 并恢复为 jQuery(我不是专家 Javascript 程序员)。意识到这与 window.onLoad 有关系
另请注意,在 settabs 中,如果我对每个 tabwidget id 使用两个调用,而不是动态分配 tabid,它会加载两个 tab 容器。
一个页面上可以有多个小部件,例如一个选项卡容器以显示一个主题的信息,另一个选项卡容器用于另一个主题等。因此,希望拥有一个可以显示 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