求教ExtJs 浏览器兼容问题,在线等候....

NickCheng 2015-02-02 02:39:46
使用的是ExtJs3.3.1

使用IE正常,其他浏览器则有问题,或需要设置为IE兼容模式,或出现如下情况:


请问有没有人碰到过此类问题,如何解决,谢谢!!!
...全文
419 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
NickCheng 2015-02-04
  • 打赏
  • 举报
回复
引用 11 楼 baidu_25796265 的回复:
/** * 获取浏览器可视高度 * * @return {Number} */ $getBrowserViewHeight = function() { return document.all ? document.getElementsByTagName("html")[0].offsetHeight : window.innerHeight; }; 楼上正解,应该是获取高度不兼容
改完"document.documentElement.clientHeight "还是存在 这个js报错,ext-all.js报错 还有办法吗?
NickCheng 2015-02-04
  • 打赏
  • 举报
回复
引用 10 楼 hookee 的回复:
height:document.documentElement.clientHeight 这里 用 document.documentElement 不就引入了 不兼容性 了嘛,这个和extjs无关。 设置 配置项 autoHeight:true 试试看
好的,我试下
hookee 2015-02-03
  • 打赏
  • 举报
回复
height:document.documentElement.clientHeight 这里 用 document.documentElement 不就引入了 不兼容性 了嘛,这个和extjs无关。 设置 配置项 autoHeight:true 试试看
__OBSERVER 2015-02-03
  • 打赏
  • 举报
回复
/** * 获取浏览器可视高度 * * @return {Number} */ $getBrowserViewHeight = function() { return document.all ? document.getElementsByTagName("html")[0].offsetHeight : window.innerHeight; }; 楼上正解,应该是获取高度不兼容
NickCheng 2015-02-02
  • 打赏
  • 举报
回复

MedicineInfo.initGrid = function(store){
	var sm = new Ext.grid.CheckboxSelectionModel({
	
		listeners:{   
		    beforerowselect : function(  _this ,  _rowIndex ,  _keepExisting ,  _record  ) {
		    
		    if(_record.data.delivery_amount <= 0){
		    	return false;
		    }else if(_record.data.approve == "false") 
		    {
		    
				return false;		    
		    } else if(_record.data.gsp_status == 1){   
		          return true;   
		       }else{   
		         return false;   
		       }   
		    }
		}
		
	});
	var cb = new Ext.form.ComboBox({
		id:'company_id',
		typeAhead:false,
		allowBlank:false,
		autoScroll:false,
		emptyText:'------请选择------',
		store:new Ext.data.JsonStore({
			url : "/test.action",
			root: 'data',
			autoLoad: false,
			totalProperty: 'total',
			fields : [{name:'company_id'},{name:'company_name'}]
		}),
		forceSelection:true,
		tiggerAction:'all',
		displayField:'company_name',
		valueField:'company_id',
		listeners:{
			'focus':function() {
				if(MedicineInfo.grid.getSelectionModel().getSelections() ==null || MedicineInfo.grid.getSelectionModel().getSelections() =="")
				{
					return;
				}
				var records = MedicineInfo.grid.getSelectionModel().getSelections();
				var currentRowNum = MedicineInfo.grid.store.indexOf(MedicineInfo.grid.getSelectionModel().getSelected());
				 MedicineInfo.Amount = document.getElementsByName("order_amount")[currentRowNum].value;
				 MedicineInfo.Number = currentRowNum;
				cb.store.baseParams["data"] = Ext.encode({staticAttrValue:records[0].data.medicine_id})
				cb.store.load();
			}
		} 
	})
 	var cm = new Ext.grid.ColumnModel({
				columns :[sm,
						 new Ext.grid.RowNumberer(), 
					      {
					        header : 'ID',
							dataIndex : 'm_id',
							hidden : true
					      },
					      {
					      	header : 'Name',
					      	dataIndex:'name',
					      	hidden : true
					      }
					      ],
			defaults : {
				sortable : true,
				medicineInfoDisabled : false,
				width : 30
		}
	});
NickCheng 2015-02-02
  • 打赏
  • 举报
回复

	var grid = new Ext.grid.EditorGridPanel({
				id : 'MedicineInfoList',
				//tbar : this.topbar(),
				store : store,
				trackMouseOver : true,
				disableSelection : false,
				loadMask : true,
				height:document.documentElement.clientHeight  - 70 - ($("querybar") == null ? 0:$("querybar").offsetHeight),
				cm : cm,
				sm : sm,
				clicksToEdit : 1,
				renderTo:'MedicineInfoDiv',
				viewConfig : {
					forceFit : true,
					enableRowBody : false,
					showPreview : false
				},
				listeners:{
					afteredit:function(obj,a,b,c,d,e){
						var currentRowNum = grid.store.indexOf(grid.getSelectionModel().getSelected());
						var s = document.getElementsByName("order_amount")[currentRowNum].value;
					 	obj.record.set("delivery_company_id",Ext.getCmp("company_id").getValue());
						obj.record.commit();
						document.getElementsByName("order_amount")[MedicineInfo.Number].value = MedicineInfo.Amount;
						
					}
				},
				bbar : new Ext.PagingToolbar({
							id:'accountPagingbar',
							pageSize : 15,
							store : store,
							displayInfo : true,
							displayMsg : '当前显示从{0}至{1}, 共{2}条记录',
							emptyMsg : "当前没有记录"
						})
			});
		grid.addListener('rowdblclick', function(grid, rowindex, e) {
				grid.getSelectionModel().each(function(rec) {
					MedicineInfo.show(rec.data.assetsTypeId);
				});
		}); 
		 grid.addListener('click', function(grid, rowindex, e) {
			if (clickEle) {
				setTimeout(clickEle.focus,500)
			}
	
		});
			
	return grid;

}
NANU-NANA 2015-02-02
  • 打赏
  • 举报
回复
应该不是浏览器的问题 你是怎么读取列表的? 贴段代码看看
NickCheng 2015-02-02
  • 打赏
  • 举报
回复
引用 2 楼 u010087908 的回复:
grid store? 你确信是兼容的问题,不是代码的问题么?
EditorGridPanel
NickCheng 2015-02-02
  • 打赏
  • 举报
回复
引用 4 楼 czp0608 的回复:
[quote=引用 2 楼 u010087908 的回复:] grid store? 你确信是兼容的问题,不是代码的问题么?
引用 3 楼 wzs_xyz 的回复:
前端生成excel只有ie的activex支持,所以在其他浏览器脚本出现了异常,后面的脚本就不会执行,就没有UI了
你的意思,extjs 不支持浏览器,除了IE?[/quote] 你的意思,extjs 不支持其他浏览器,除了IE?
NickCheng 2015-02-02
  • 打赏
  • 举报
回复
引用 2 楼 u010087908 的回复:
grid store? 你确信是兼容的问题,不是代码的问题么?
引用 3 楼 wzs_xyz 的回复:
前端生成excel只有ie的activex支持,所以在其他浏览器脚本出现了异常,后面的脚本就不会执行,就没有UI了
你的意思,extjs 不支持浏览器,除了IE?
未知数 2015-02-02
  • 打赏
  • 举报
回复
前端生成excel只有ie的activex支持,所以在其他浏览器脚本出现了异常,后面的脚本就不会执行,就没有UI了
NANU-NANA 2015-02-02
  • 打赏
  • 举报
回复
grid store? 你确信是兼容的问题,不是代码的问题么?
NickCheng 2015-02-02
  • 打赏
  • 举报
回复
列表内容出不来,如下

87,996

社区成员

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

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