昨天我们team对于extjs的动态加载机制做了些深入研究,这里先share下controller加载的结果。以service registry portlet为例:比如,在 liferay-portlet.xml中定义了:所以我们的js的入口点是app.js,这其中创建了Ext.application并且声明了动态加载controller:Ext.application({ name:
我们上次偶然发现了一个问题,我们在一个庞大的项目中,然后按照 spring web flow 走下去,最后一步提交,提交成功,但是回到某个页面上的时候,总是报错,说某个变量 比如var projectInfo,这个变量为null。后来我们仔细看了下代码,原来是因为这个页面上有个字段是textarea,然后它会支持多行输入,多行也就是\n,然后在extjs看来,它无法对于一个包含\n的字符串进行de
众所周知,float既是extjs的一个保留关键字,它可以表示数据类型是浮点型,又可以表示浮动定位,用于css中,我们一开始忽略了这个细节,直到前几天我们用yui-compressor来压缩js资源文件时候才发现这个问题。问题再现:上次同事很奇怪,因为我们的代码用的extjs,然后我们一直都是这么写,从来也没有报错,我们可以正确的吧应用部署在服务器上,然后无误的运行,结果我们前几天做性能调优,在构
事实上,如果我们在某页面上不缓存js,这个功能实际上非常容易实现,我们只要在引入的js文件后面加上一些随机数就可以了。比如我们有个页面叫config.jsp,我们要在这个页面上使用rslaunchconfig.js这个文件,但是又不希望缓存这个js文件的内容,怎么办呢?我们只要在页面上用Math.random生成一个随机数,然后拼接在js文件的后面就可以了,具体代码是:<script src
我们前阶段在extjs下遇到了一个非常棘手的问题。 问题描述:我们项目的第一页是一个Grid,Grid上方有个fieldContainer,fieldContainer中有1个超链接,然后右边是一个Combobox,然后我们在chrome25/26上发现,不管这样整个fieldContainer始终收缩成1条直线。然后很快我们就猜想,这是因为fieldContainer的宽度被收缩到0所致,后来具
经常在Ext.select()和Ext.query()等问题上纠结,今天终于有了点新认识: 需求,假设我们的页面上有个panel ,其id为clusterstab_edit_details,这个panel的内部有个textarea,这个textarea的name为editDetails_Description,那么我们有多少方法可以取得textarea中当前输入的内容
extjs中各种布局的整理和详细研究
什么是容器(Container): Extjs被称为是最强大的前端组件库,组件,也就是Component,是可以复用的代码块,并且直接可以和浏览器配合形成最终外观。而容器,是一种特殊的组件,说白了就是用来包含其他组件的组件。而我们的extjs的应用是由若干的组件,以及组件的排列组合嵌套共同组成。 什么是容器布局(Layout): 因为容器是用包含其他组件的,所以容器肯定有一种机制
项目中遇到了前端校验,我们采用的是用vType来创建可以复用的校验器: 需求:校验IPv32 为了创建可以复用的校验器,我们使用了Vtype,定义如下: // Custom Vtype for ip address Ext.apply(Ext.form.field.VTypes, { &n
extjs中包含了大量的控件,我们用的时候会发现这些控件的id和样式太难把握了,粗略看上去好像没有什么规律性,这也让我们为使用控件的应用程序写自动化测试带来了难题。其实,这些控件的id和样式是有规律的。 比方说:我们最简单的面板控件,他的样式和id可能如下所示: 其实这个控件id和样式是非常有规律的,如果仔细研读过源代码,可以发现每个都用模板
对于Ext.get(),它返回的是Ext.dom.Element对象 Ext.get = function(el){ return Ext.dom.Element.get(el); } 对于Ext.getCmp(),它返回的是Ext.component对象,它有xtyp
今天,我们在使用extjs时候遇到了一个问题: 问题再现: 根据客户的需求,我们需要在portlet首部做一个分页的grid,当然了,下面有一个分页条,然后我们需要当点击分页条的时候,会像服务器端发一个ajax请求来获取当前页的所有记录。然后我们在顶部点Filter组合框时候要基于这个局部的结果集做过滤。我们分页条是很正确和完美的,比如一共有400多条记录,分在21页中,每页显示2
我使用的extjs版本是4.1.0 ,在Ext.data.Model中, 有一个属性叫phantom,平时不太用到,也没多注意,直到这2天我们team一个js专家遇到一个很棘手的问题,这才触发我去窥测到这个属性的作用。 老习惯,我们还是从需求开始:需求:用Extjs的树控件,我们需要在树控件的目录图标(比如 address-service)上双击后,会创建一个子目录,并且这个子目录的图标
长期在US,大半年不更新博客了,现在有空吧自己和团队一些开发过程中遇到的问题和解决方案分享出来。 现象: 这里我们讲,在前端,我们用Extjs的DateField来让用户选择日期, items:[ &
问题再现: 我们遇到以下的问题,就是在ext-js的一个combo控件上选择并点击一个menu item,会弹出一个对话框,如果不选择对话框的时候,焦点始终在原来的combo控件上,而不会定位到弹出对话框中的输入文本框中。 如图: 当我们在这个combobox中选择upgrade时候,会弹出一个输入密码对话框: 这时候,如果不点击"Password Check
基本从事web开发的人应该没有不熟悉Douglas Crockford的。这位鼎鼎有名的人曾经是Yahoo高级js架构师,现在是Paypal的高级js架构师。它创造了大名鼎鼎的json数据类型,从而让web世界能以一种比xml格式更精简又不失可读性的类型来传播数据,他照片如下(中间高大有气质者): 他创造了JSONLint ,今天我们这里就简单介绍
Suppose we will implement the following two select: Primary <select> {A,B,C} Secondary<select> { 1,2,3,4,5,6,7,8,9} Primary->Secondary rul
首先有个原则: 就是在Javascript中,对于scope的处理,如果是被对象调用的函数,比如o.f() 的形式,那么this 指针指向“点”前面的对象,比如这里的o. 如果是普通函数,也就是没有“点”号,那么对于浏览器来说,这个this指针指向的是window. 附上测试源代码: var theA
假定我们现在每页只显示25个Item(产品条目),而现在数据库里面有33条Item记录,所以应该分2页显示 显示结果: 第一页: 当你选择底部分分页栏的 向后箭头 ,或者直接在输入框里面输入页码,比如2的时候 他会自动翻到第二页 技术实现: &n
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号