我使用Joomla!利用DHTMLxGrid库的插件,特别是1.5版。打开使用此DHTMLx网格功能的页面时遇到问题,一切都可以正常使用Firefox,但是,当我在Chrome(7和8)中打开页面时,浏览器会在dhtmlxgrid.js文件的第60行触发异常,触发通过网格的初始化。我已经包含了几行代码,我知道这是非常有限的数据,但这是我能够在这里作为总结。我希望有人遇到类似的问题。我对JS的知识有限,所以非常感谢任何帮助。
如果您需要更多细节,请告诉我,我会尝试添加更多数据。
谢谢!
php文件:
function gridInit(){
mygrid = new dhtmlXGridObject('gridbox');
mygrid.setImagePath("http://mydomain.com//administrator/components/com_com/images/dhtmlxGrid/");
mygrid.setHeader("ID,Start Period,End Period,Price (USD)");
mygrid.setInitWidths("50,120,120,80");
mygrid.setColAlign("center,center,center,center");
mygrid.setColTypes("dyn,dhxCalendarA,dhxCalendarA,edn");
mygrid.setDateFormat("%d/%m/%Y");
mygrid.setColSorting("int,date,date,int");
mygrid.init(); //...hits exception at this point
//...
}
js文件:
//dhtmlxgrid.js...
this.hdr = document.createElement("TABLE");
this.hdr.style.border="1px solid gray";
this.hdr.cellSpacing = 0;
this.hdr.cellPadding = 0;
if ((!_isOpera)||(_OperaRv>=8.5))
this.hdr.style.tableLayout = "fixed";
this.hdr.className = "c_hdr".substr(2);
this.hdr.width = "100%";
//...
var hdrRow = this.hdr.insertRow(_isKHTML?2:1); //dhtmlxgrid.js:60 Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1
//...
答案 0 :(得分:1)
错误表示索引为负数或过大。错误发生的行是在表中添加一行,但是有一个对_isKHTML的测试...我认为这是测试konqueror,它是Chrome所基于的WebKit的祖先。无论如何,尝试取出那个测试并改为:
var hdrRow = this.hdr.insertRow(1);
如果这解决了问题,那么浏览器在那里使用嗅探是有问题的,但是如果你不必支持运行KDE的Linux,那么没有它就应该没问题。