获取iframe 中 当前光标位置
解决方案,参考代码! var ifEdit = this.getElementByXid("ifEdit").contentWindow; //编辑模式 ifEdit.document.designMode = "on"; [...]
解决方案,参考代码! var ifEdit = this.getElementByXid("ifEdit").contentWindow; //编辑模式 ifEdit.document.designMode = "on"; [...]
报错 UIServer错误 URI:/x5/UI2/v_4935_nol_zh_CNs_desktopd_pc/v-nauAJf-zh_CN-/image/index.w 错误码:500 错误信息: com.justep.ui.exception.UIException: 编码: JUSTEP000014; 提示: WINDOW编译出错, 文件"/UI2/v-nauAJf-zh_CN-/image/index.w"不存在 隐藏错误详细 原因:有可能是编辑APP,没有选择模式3打包,但是web路径写成了/x5开头的写法!这样就会优先访问UIServer 解决方案:如果是模式1,模式2打包web路径必要写/x5开头的字符串!如果是模式3打包!web路径尽量写成/x5/UI2
原因:UIServer默认访问的web路径是x5,如果想修改成其他字符串,比如x6,请参考如下! 解决方案: 一共修改了3个地方:把x5修改为x6 1.pache-tomcat\webapps\ROOT\index.html 2.新版本修改这个文件的:conf\server.xml,旧版本V3.2.1以前版本修改runtime\UIServer\WEB-INF\justep.xml 3.apache-tomcat\conf\Catalina\localhost\x5.xml,修改为x6.xml 重启服务!浏览器清空缓存就可以了! 开发模式下,设计器中也需要修改,首选项这里 也需要把x5改掉!然后重启studio!如图
原因:有些情况下,需要把当前data组件中的数据缓存在其他data组件中!当前data做清理或刷新!或者是选择出某些行的数据放在另一个data组件中使用!等等的需求! 解决方法: 如同下面代码!把data1中的数据循环添加在另一个data1baas 组件中! var data1 = this.comp("data1"); var data1baas = this.comp("data1baas"); data1.each(function(p) { var row = data1baas.add(); row.assign(p.row) [...]
服务器报错: com.justep.baas.action.ActionException: Action[justep/takeout/queryFood]执行失败, 获取数据库 连接失败,可能原因:数据库已经关闭或者数据源配置错误 原因:不是使用平台自己的mysql,而是自己安装的mysql数据库,驱动版本不匹配,导致连接数据库失败! 解决方法:mysql版本对应的驱动包,拷贝到现在的版本中,替换tomcat\lib下的mysql驱动
在WeX5 中,一般通过js获取对象,都是使用xid来获取的!是否是wex5组件的识别,主要看源码中是否有component属性!如果有,那就是,否则就是html5标签 x5组件获取对象的方法是 this.comp('组件XId'),然后参考API文档,看看它所提供的操作方法都有哪些! html元素,通过this.getElementByXid('节点XId') ,这样获取的对象和js的document.getElementByXid('xid')获取的js对象是一样的!可以使用jQuery进行封装!方法和标准js操作dom对象没有区别!可以上网查资料!
注意,只能是在bind-click事件中处理!在onClick事件中无法阻止冒泡的! 事件中 event.stopPropagation(); //阻止了事件冒泡,但不会阻击默认行为 event.preventDefault(); // 不阻击事件冒泡,但阻击默认行为 return false; //阻止了事件冒泡,也阻止了默认行为 return true和没有return是一个逻辑事件继续,即不阻击事件冒泡也不会阻击默认行为 这里return true是为了保证开发者可以在任何节点上进行事件绑定;(这个点没有想到什么情况需要阻止默认行为)
原因:比如在data组件中循环查询符合条件的数据!查找到后,没必要再次循环后面的数据了!就可以选择直接结束循环 解决办法:代码如下 this.comp('mainData').each(function(param){ param.cancel = true;//设置忽略遍历! });
原因:attachmentSimple 组件可以上传图片,但是没有图片预览的能力!如果想把上传的图片,使用img标签显示出来!就需要自己写代码实现! 解决办法: 主要代码 // 图片路径转换 Model.prototype.getImageUrl = function(value, ownerID) { if (value) { try { var jsonList = eval("(" + value+ ")"); if (jsonList instanceof Array) { var realFileName = jsonList[0]["realFileName"]; var storeFileName [...]
原因:打开某个页面的时候,需要接管一个事件,处理一些逻辑,比如写刷新data组件的代码! 解决办法:model组件上提供的两个事件可以处理,分别是onLoad 和 onActive onLoad事件是页面第一次打开的时候触发的!表示页面加载完执行的事件! onActive事件是页面已经打开了!第二次或以两次以上页面激活显示的时候触发! onLoad 和 onActive 是互斥的!每次只能触发其中的一个事件! 如果页面执行了this.close()等关闭页面的操作!那么下次打开还是只触发onLoad事件 旧版本可能存在onActive 第一次也触发的情况!后来新3.4以上的新版本都是第二次显示触发!