我只是为此挣扎,并认为我已经解决了。
问题在于 Dashcode javascript 框架的浏览器嗅探。
在Parts/core/core/base.js
第 47 行:
MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
在Parts/core/views/Page.js
第 581 行:
if (!DC.Browser.MobileSafari)
{
document.addEventListener('click', wrapEventHandler("_onclick"), false);
document.addEventListener('dblclick', wrapEventHandler("_ondblclick"), false);
}
Dashcode 错误地将 Android 浏览器识别为 Mobile Safari,因为它的用户代理看起来像:Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
结果是 Dashcode 未能附加其 click 和 dblclick 事件侦听器。
将第 47 行更改Parts/core/core/base.js
为此修复它:
MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/) && !!!navigator.userAgent.match(/Android/)