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

实际开发中的一些小问题,觉得还行,转载下

阅读更多
下面是开发过程中做的一些总结,多是问题的应对:

1、引入js和css文件时注意文件的路径问题;

2、导入ext-base.js后注意设置Ext.BLANK_IMAGE_URL的值(透明图片s.gif位置);

3、IE提示“缺少标识符,字符串或数字”错误,为配置时 “}”前多了逗号,且所处位置在Ext.onReady在同一个js文件

4、IE提示变量未定义,一般为有语法错误,如多余了”,”等

5、“无效字符”错误,可能是将”,”打成了”,”了

6、”缺少’}'”错误,问题是多个参数之间缺少了”,”导致

7、加载文件较多时,使用ExtJs可做一个加载提示

8、ext-base.js引入必须在ext-all.js之前

9、Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
初始化Ext状态管理器,在Cookie中记录用户的操作状态,如果不启用,象刷新时就不会保存当前的状态,而是重新加载
如果窗口中有用可拖动面板的话,你在拖动后如果启动了Ext.state.Manager.setProvider(new Ext.state.CookieProvider()),就算刷新后面板仍然会在你拖动后的位置。如果不启用的话是不是就会按照默认的排列方式排列

10、对浏览器禁用javascript的提示
<noscript class=”noticeDialog”><div>
<p>请开启浏览器的 JavaScript 支持!否则不能正常使用本系统<br>启用之后,刷新页面即可</p>
</div></noscript>

11、TabPanel中放置复杂组件时,注意需要设置TabPanel的Width

12、extjs中文字体在firefox里显示偏小的问题,解决方法是再创建一个名为ext-patch.css的css文件,内容见http://www.phpchina.com/html/78/78-28624.html

13、中文化问题,在 ext-all.js 后面,挂上 ext-lang-zh_CN.js 即可,如:
   <script type=”text/javascript” src=”<%=contextPath%>/public/js/ext-base.js”></script>
   <script type=”text/javascript” src=”<%=contextPath%>/public/js/ext-all.js”></script>
   <script type=”text/javascript” src=”<%=contextPath%>/public/js/ext-lang-zh_CN.js”></script>

14、ComboBox加载后自动选择第一项
var pn_zlfx_cbb_grade = new Ext.form.ComboBox({
displayField: ‘name’,
valueField: ‘id’,
triggerAction: ‘all’,
width: 80,
lazyInit: false,
mode: ‘local’,
editable: false,
forceSelection: true,
store: new Ext.data.JsonStore({
  url: SITE_URL+’get_zlfx.asp?grade_id=0′,
  fields: ['id', 'name'],
  root: ‘data’,
  autoLoad: true,
  listeners:{
   load: function(store, records, options){
    if (records.length != 0){
     pn_zlfx_cbb_grade.setValue(records[0].data.id);
    }
   }
  }
})

15、JsonStore排序:sortInfo: {field: “name”, direction: “ASC|DESC”}

16、Extjs类的配置属性是不能被动态配置的,就如同上面这样的写法,当然,可能可以通过调用或设置某些公共的方法和属性来改变这些配置属性,但不能直接设置.

17、xhtml strict模式:<!DOCTYPE html
PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd“>

18、Html文档<script>标签中的js代码放在<![CDATA[和]]>之间,使xhtml验证时忽略中间的内容

19、JsonStore添加Record
var orgaListRecord = new Ext.data.Record.create([
  {name: 'id_combo1'},
  {name : 'name'}
]);
var orgaList = new Ext.data.JsonStore({
  url: ‘./get_organisme.php’,
  root: ‘orga’,
  fields: orgaListRecord
});
orgaList.add([
new orgaListRecord({'id_combo1': 3,'name': 'Other'})
]);
orgaList.load({add: true}); // instead of orgaList.load();

20、数据加载前须判断是否有数据:
if (typeof(pn_zlfx_gp_mark_subjects)==”undefined” || typeof(pn_zlfx_gp_mark_subjects.data)==”undefined”)
    pn_zlfx_gp_setting.store.removeAll();
else
    pn_zlfx_gp_setting.store.loadData(pn_zlfx_gp_mark_subjects);

21、尽量将处理过程放在关键位置,减少重复代码

22、默认排序方式:sortDir

23、服务器返回的JSON数据字段用’或”括起来,避免与js关键词与保留字冲突

24、Ext.encode()出错,问题是json数据有问题

25、store增加totalProperty配置,可用store.getCount()获取

26、store中文排序异常问题,通过重载Ext.data.Store.prototype.applySort函数来解决

27、store.load()是异步操作,如果希望在数据载入后再执行操作,可以通过以下方式执行:
store.load({
  callback: function (records) {
    alert(store.getTotalCount());
  }
});

28、 EXTJS items不能显示问题收藏
有时经常碰到添加items时不能显示,郁闷不得行~~
经不断测试可能有如下几个方法可以解决:
1)试添加:Layout:’fit’
2)若xtype为’panel’,可试添加:
        listeners: {
             ‘activate’: function(p) {p.doLayout();}
             ,single:true
         }
3)若xtype为’tabpanel’,可试添加:
        layoutOnTabChange:true
总的来说是cmp.doLayout()问题….

29、Ext.ajax.request增加form和isUpload:true时,请求方式为enctype=”multipart/form-data”传值,asp中需特别解析

30、ComboBox增加mode:’local’配置来手动控制数据载入,同时可防止数据的二次加载

31、要使ComboBox手动输入的值能得到提交,需要增加ComboBox的Blur事件处理函数
    onComboBoxBlur: function(field){
     field.setValue(field.getRawValue());
    }

32、Firebug显示所有Extjs组件事件
Ext.util.Observable.prototype.fireEvent = Ext.util.Observable.prototype.fireEvent.createInterceptor(function() {
    console.log(arguments);
    return true;
});

33、工具栏Toolbar内容的增删
    var tb = this.gp.getTopToolbar();
    // 删除工具栏内容
    var i = tb.items.getCount();
    while(i){
  Ext.fly(tb.items.get(i).getEl()).remove();
  tb.items.removeAt(i);
}
// 重新添加工具栏内容
    tb.add(‘包括(’, this.cbgType, ‘)’);

34、Ext.ux.form.LovCombo不能设置forceSelection为true,否则当控件失去焦点时显示值会清空

35、IE下Ext.GridPanel的autoWidth或者layout:’fit’会将宽度拉的很长的解决办法:

var grid = new Ext.grid.GridPanel({

        bodyStyle:’width:100%’,

        autoWidth:true,

…….

});
36、Ext.GridPanel加了CellSelection后,如设置viewConfig:{forceFit:true}点击单元格会导致表格跳动
解决方案:http://www.extjs.com/forum/showthread.php?p=282928#post282928

37、ComboBox执行Filter第一次无效的解决是 增加lastQuery:” 配置

38、Panel内部高度自适应+自动出现滚动条,增加以下配置
,autoScroll: true
,style:”height:100%;”
,bodyStyle:”height:100%;”

39、某些情况下TabPanel里加载iframe第一次不显示,可在panel显示后重新设置一下iframe的src强制加载一遍
分享到:
评论

相关推荐

    visual studio 2005 快捷方式 声明是转载 感觉有用

    以上只是部分Visual Studio 2005常用快捷方式的介绍,实际使用中还有很多其他快捷键可以提升开发效率。文档"visual studio 2005 快捷方式.doc"可能包含更全面的快捷键列表,建议仔细阅读并实践,以便更好地掌握这款...

    VC socket传送文件的例子(转载)

    在IT行业中,网络通信是至关重要的部分,而Socket编程则是实现这一目标的关键技术。本文将深入探讨基于VC++的Socket编程,特别是在文件...不过,要记住,实际开发中还需要考虑更多因素,如性能优化、安全性和健壮性。

    ASP实际无限级树目录 无级限目录 AJAX JSON ASP

    然后参考 老彭 的用ASP递归数据库的方法写的,目录多了感觉性能太差了。 然后就想办法仿照JQuery zTree写一个性能高的树形目录 经过努力 最终 实现了 树形目录,当然不能和 JQuery zTree 的功能想比 但是最少我认为...

    VC 视频教程1

    维新科学技术培训中心的教师必须不断的进行软件开发和网络工程的实施,不断的跟踪业界最新的技术,不断的从项目开发中总结经验与心得,以保证总是把最新、最好的技术交到每个学员的手中。 本教学视频是免费提供给...

    C#上位机源码串口调试助手

    既然差不多知道什么是上位机与下位机,那么,我们做到小喇叭的要求:就得写个上位机,我自己也是学了下C#,用来开发上位机还是可以的,开发环境用visual studio 2015,微软的软件真的是很简单,之前看到有人问为什么...

    Android开发必备知识 为什么说Kotlin值得一试

    Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处。 1.1 Kotlin的身世 写了许久Java,有没有发现其实...

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    6.如下图,在mydlg.ui 中拖入一个Push Button,将其上的文本改为“进入主 窗口”,在其属性窗口中将其objectName 改为enterBtn,在下面的Signals and slots editor 中进行信号和槽的关联,其中,Sender 设为enterBtn...

    玩转校内&时间观念(终结版Ⅱ)

    &lt;br&gt;几点说明: 1、此软件实际面对电脑屏幕动手开发自2007年7月28日,故先前所见版本号为伪版本号,此伪版本号用于记录大改完成并发日期,除Ver 1.7.0.28实际含义为2007年7月28日动手开发外,其余如:Ver 1.8...

    玩转校内[精简免安装版] Ver 2.4.27.95

    &lt;br&gt;几点说明: 1、此软件实际面对电脑屏幕动手开发自2007年7月28日,故先前所见版本号为伪版本号,此伪版本号用于记录大改完成并发日期,除Ver 1.7.0.28实际含义为2007年7月28日动手开发外,其余如:Ver ...

    玩转校内&时间观念

    &lt;br&gt;几点说明: 1、此软件实际面对电脑屏幕动手开发自2007年7月28日,故先前所见版本号为伪版本号,此伪版本号用于记录大改完成并发日期,除Ver 1.7.0.28实际含义为2007年7月28日动手开发外,其余如:Ver ...

    二十三种设计模式【PDF版】

    实际上,GoF 的设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用 和智慧,让你能够真正掌握接口或抽象类的应用,从而在原来的 Java 语言基础上跃进一步,更重要的是...

    everything

    转载善用佳软,本人用的时候都是用alt+F快捷键的,这个需要到选项设置一下,检索速度太快,占用内存平时7MB左右,不能检索文件内容,仅文件名。可以开启http或ftp服务,用来共享文件还是不错的,毕竟校网传输速度...

    Nginx安装包

    Nginx的反向代理 ...tomcat+nginx+redis实现均衡负载、session共享(二)...好在redis提供了java客户端开发包,名曰jedis,下星期会比较忙,等过段时间再分享下使用jedis缓存数据的过程。 欢迎转载,但请先经过本人允许。

    Java面试题

    8. **设计模式**:常见的设计模式如单例模式、工厂模式、建造者模式、观察者模式、适配器模式等,以及在实际开发中的应用。 9. **JVM优化**:了解JVM内存模型(堆、栈、方法区等),垃圾回收机制(GC),以及如何...

    springmybatis

    以前曾经用过ibatis,这是mybatis的前身,当时在做项目时,感觉很不错,比hibernate灵活。性能也比hibernate好。而且也比较轻量级,因为当时在项目中,没来的及做很很多笔记。后来项目结束了,我也没写总结文档。已经...

    vue 实现Web端的定位功能 获取经纬度

    在Web开发中,实现定位功能获取用户当前的经纬度是常见需求,尤其是在移动互联网时代,根据用户位置提供个性化服务显得尤为重要。本文主要以Vue框架为例,介绍如何在Web端实现定位功能,获取用户的经纬度信息。 ###...

    vue router 跳转时打开新页面的示例方法

    在一些场景下,我们需要在某个事件(如按钮点击)或函数中触发页面跳转,这时候可以使用 Vue Router 的实例方法 $router.push 或者 $router.go 来编程式地进行导航。但是,在 Vue 2.x 版本之后,使用 $router.push ...

    Android程序打包为APK的方法详解

    在实际开发中,我们通常使用debug版进行程序调试,待程序稳定后,再使用release版发布应用程序。 Android程序打包为APK的方法详解可以分为两步:生成未签名的安装包、生成签名的安装包。其中,生成签名的安装包是...

    方便好用的远程数据库对象V1.3

    用DELPHI的朋友少不了要和数据库打交道,一般小程序都使用ACCESS做数据库感觉十分方便,不用装服务端,客户端不用单独装驱动, 发布程序时直接目录一拷贝就完事,但缺点是不方便从其它计算机对它进行访问, 有了偶这...

Global site tag (gtag.js) - Google Analytics