dojo在向一个ContentPane中加载页面时如何实现执行被加载页面中的脚本

bigeyewolf 2008-12-24 10:34:01
假设一个页面上有个ContentPane
<!-- MainContainer begin -->
<div dojoType="dijit.layout.ContentContainer" region="center" id="mainPane"
style="padding:0px;"
href="welcome.html"></div>
<!-- MainContainer end -->
和一个按钮
<div dojoType="dijit.form.Button">
加载
<script type="dojo/method" event="onClick" args="evt">
dijit.byId('mainPane').attr("href", "user_list.html");
</script>
</div>
单击加载按钮将“user_list.html”加载到上面那个mainPane中。
但是我遇到的问题是user_list.html页面能加载,但里面的脚本不能被执行。
user_list.html页面是这样的:
<script type="text/javascript">
var _tempUserName = "aUser";
alert("abc");
</script>
...
...

我看了一下 http://docs.dojocampus.org/manual 里的例子,实现的就是这个效果,但是没搞明白怎么弄的,那位大侠帮助一下。
...全文
541 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
IdShuLin 2011-08-01
  • 打赏
  • 举报
回复
多谢,多谢阿
bigeyewolf 2008-12-26
  • 打赏
  • 举报
回复
搞定了,用setHref,但是dojo说 deprecated ,且从2.0后不再支持???????
多谢rat_cai,给你加分。
bigeyewolf 2008-12-26
  • 打赏
  • 举报
回复
非常感谢,好使了,但是有出现一个问题。
我是用下面这句话执行的加载页面

try {
dijit.byId("mainPane").attr("href", url);
} catch (e) {
console.log(e);
}

执行第一遍,好使,但再点,执行时报错,

[ Error: already called! ]
description : already called!,
message : already called!,
name : Error

是不是 attr 只能用一次啊,
或者得先把“mainPane”中的内容清一次,或者换别的方法,
比如先 new dojox.layout.ContentPane({..., href: user_list.href, ...}) 一个出来,再把 new 出来的东西 setContent 到 mainPane 中。
bigeyewolf 2008-12-25
  • 打赏
  • 举报
回复
惨,这么长时间还没人回啊。
rat_cai 2008-12-25
  • 打赏
  • 举报
回复
如果要执行导入页面的脚本,必须使用dojox.layout.ContentPane,这是从原来的dijit.layout.ContentPane中分离出来的。
bigeyewolf 2008-12-24
  • 打赏
  • 举报
回复
没人回,自己顶先。

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧