我正在开发一个web应用程序,希望使用jQuery库来简化开发。
该应用程序将在运行ANT Galio浏览器的嵌入式设备上运行。
我测试的设备的User-Agent
字符串是:
Mozilla/5.0 (compatible; ANTGalio/2.1.19.12.020.2.0.00; vxWorks-6.3)
当我尝试在这个设备上使用jQuery运行页面时,它却以静默方式失败了。根据@Adam Terlson的帮助,我确定jQuery 1.6.1没有在这个浏览器上开箱即用地正确加载,因为加载库后既没有定义$
也没有定义jQuery
(两者都是在Firefox中测试页面时定义的)。
有人有在ANT Galio浏览器中使用jQuery的经验吗?有可能让它运转起来吗?还是我运气不好?
在ANT Galio上使用任何现有的库都不是好主意,尤其是2.x版本。像jQuery这样的库涵盖了跨浏览器兼容性(您不需要它),并将易于使用的API放在首位。性能是第二位的。
jQuery使用极慢的选择器引擎Sizzle。我认为这是你们不能在那个里使用jQuery的主要原因。
例如,使用Sizzle访问DOM元素的速度大约是纯JS的100倍。
IMHO为ANT Galio浏览器编程的唯一方法是使用JavaScript。
ANT Galio不喜欢jQuery,原因有很多,但没有一个能解决这个问题。ECMA 1.2的Javascript是您的最佳选择。
1)在jQuery.ready.promise
// Use the handy event callback
document.addEventListener("DOMContentLoaded", completed, false);
// A fallback to window.onload, that will always work
window.addEventListener("load", completed, false);
ANT Galio Browser无法与window.addEventListener一起工作,只能与document.addEventLister一起工作。不支持DOMContentLoaded事件。
2)div.setAttribute(eventName,"t")
不为属性赋值,因此得到错误支持[i+"Bubbles"]=div.attributes[eventName].exexpando===false;
3)jQuery.回调
某种名称与列表变量冲突(可能是名称限制)。只需要重命名变量(例如myList)。
只要坚持使用jQuery 1.3.2,它就会顺利工作,即使在ANT平台上也是如此。以上任何内容都不起作用,因为核心选择器已经更改,并扼杀了ANT的性能。
很奇怪,但我在xerox(Ant Galio Browser)的weblet上发现了jqueryhttp://www.support.xerox.com/support/xerox-connectkey-apps/software/enus.html您只需要将文件重命名为zip