日期:2014-05-16  浏览次数:20418 次

请教一下dijit.layout.ContentPane加载页面问题
dijit.layout.ContentPane 加载 页面问题
main.html 中利用contentPane 加载 menu.html, menu.html中的菜单不显示,但是文本"111111"能显示。
两个文件在同一个目录下。
main.html 源码:
 <html>
<head>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojo/dojo.js"
djConfig="parseOnLoad:true"></script>
<script type="text/javascript">
dojo.require("dijit.layout.ContentPane");
</script>
</head>
<body>
<div data-dojo-type="dijit.layout.ContentPane" id="menuPane"
data-dojo-props="href:'menu.html'"></</div>
</body>
</html>


menu.html 源码:
 <html>
<head>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojo/dojo.js"
djConfig="parseOnLoad:true"></script>
<script type="text/javascript"> 
dojo.require("dijit.MenuBar");
dojo.require("dijit.MenuBarItem");
dojo.addOnLoad(function(){
function closeWindowFunction(){window.close();};
var closeWindow = new dijit.MenuBarItem({label:"关闭窗口",onClick:closeWindowFunction});
var menuBar = new dijit.MenuBar({id:"mainMenu"});
menuBar.addChild(closeWindow);
menuBar.placeAt("main");
   }
  );
  </script>
</head>
<body class='tundra'>
<div id="main"></div>
<div>111111</div>
</body>
</html>

------解决方案--------------------
dojo的原理是页面加载的时候解析含有data-dojo-type的节点元素,contentPane则是通过ajax获得html文本直接吐出到ContentPane的innerHTML上,而且对应的html的脚本也不会执行的。
建议你不要在contentpane上设置href