`
阿牛ge
  • 浏览: 104361 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

学习ExtJs(1):TabPanel不能AutoLoad的问题

阅读更多
最近在学习Ext Js以及jQuery,网络中对这两Javascript的框架各有褒贬。我还没有最终决定采用哪一个框架,不过了解了一下jQuery,发现如果要实现Ext JS的许多功能,需要自己寻找插件。对比一下:
    一、寻找是费时费力的事情,还要试用才知道是不是适合你;
    二、决定了就要学习各种插件的使用,虽然是插件,但是编程风格一定不同;
    三、你也不知道哪天开始,你所要的插件不更新了,淘汰了
    四、最重要的,等你收集够了你需要的插件,估计总体js文件的尺寸也不小了

所以,本人应该更加倾向于Ext JS,它有一个稳定、成熟的开发团队,产品延续性会更强,编程风格也能一脉相承,不用再去学习和适应不同人编写的插件的风格。虽然个头大一点,不过带宽总是再增加的。

忘记说明:本人的目的很简单:只要达到灵活使用框架而已。

前面的废话算是学习ExtJS的序片吧,哈哈……

回到正体:相信有不少朋友遇到不能AutoLoad的问题,看看ExtJs的例子,怎么他们可以。其实你如果在本地硬盘运行例子,也是不可以的。差别就在于你要把自己试验的文件放到Web服务器的虚拟路径中,就可以读去了。

答案很简单,不过费了我不少时间!因为我都是在Windows路径直接编辑js文件,也是直接双击打开测试的文件。在一般调试的时候没有问题,遇到autoLoad它就不执行了!

看下面:
items:[{id:"tab1",title:"面板1",closable:true,html:"<h1>第一面版内容</h1>"},{id:"tab2",title:"面板2",autoLoad:'ajax1.html'}]

ajax1.html替换为你自己的文件,没有特别的讲究。

但是如果load的文件中包含js代码,需要这样写:
id:"tab2",title:"面板2",autoScroll:true,autoLoad:{url:'Panel.html',scripts:true}

Panel.html正常运行在Tab里面。

/*2009-09-03 重要补充 */
前面说到panel.html可以运行,但是后来折腾了一下,发现autoload的时候又不能正常运行,调试了很久也没有结果。单独运行,无论在IE还是Firefox都正常,最终只能暂时放下。

今天在继续研究Ext其它东西的时候,慢慢的又回到了autoload的话题上,最终被我发现,如果被Load的页面同样包含ext-base.js, ext-all.js 的文件,就不会运行代码。

不过我没有深究原因,有兴趣的朋友可以研究一下,并能告诉结果的话,我会非常感谢!


分享到:
评论
2 楼 星际大篷车 2012-08-22  
请问一下,我把例子发布在tomcat下,但是怎么还是不能读取呢?
1 楼 yadsun 2010-01-12  
貌似是因为autoload的内容是被直接替换到包含它的元素的body中去的,所以如果那个页面已经引用了某个js文件上,你再引入一次,重复引入了,所以autoload的目标页面中是不需要引入已经引入的文件了

相关推荐

Global site tag (gtag.js) - Google Analytics