2010-07-16 44 views
1

我正在使用Dashcode開發HTML/Javascript移動Web應用程序。通常我不會使用這種所見即所得的東西,但我發現它是一個非常快速的開發過程。Android瀏覽器與Dashcode移動項目不正確的觸摸事件

不幸的是,它似乎目前無法在Android瀏覽器上運行。主要的顯示負載和所有正確的數據都是從Web服務中提取的,但不能按任何東西來激活它。

我懷疑Android瀏覽器正在發送不同的JavaScript事件,而Dashcode對象沒有配置爲拾取。

此外,亞行logcat調試程序拒絕在模擬器輸出從瀏覽器的任何日誌消息,因此我有一個非常艱難的時間整理了這一點。

所以我的問題是:有人可以幫我找出我需要關注的事件,所以我可以迭代所有觸摸處理程序並將它們複製到android事件中,或者以任何其他方式提供幫助情況?

+0

我一直有同樣的問題。有人想幫忙嗎? – 2011-07-07 02:15:59

回答

1

我遇到了與我的Dashcode應用程序完全相同的問題。另一方面,我的jqTouch應用程序完全可以在Android上運行 - 與iPhone(Mobile Safari)完全相同。

這讓我想知道: jqTouch如何註冊點擊/點擊/任何用戶事件不同於Dashcode? 如果有人能回答這個問題,我們可能是半路上的解決方案...

1

至於,至少,onClick事件我有類似的問題。嘗試從部署文件夾中刪除所有數據。我還使用了內嵌樣式火象這樣的「onClick」方法:

   <div id="subscribeSubscriptionBtn" apple-part="com.apple.Dashcode.part.pushbutton" class="apple-no-children button" onclick="btnHandler(event);"></div> 

這個工作對我來說在iPhone和Android 2.1的設備(preinstaled瀏覽器和FF)。希望幫助...

0

我按倒本和認爲我有它排序。

問題在於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瀏覽器作爲移動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事件偵聽器。

更改的Parts/core/core/base.js這行47修復它:

MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/) && !!!navigator.userAgent.match(/Android/)