2014年1月10日 星期五

LimeJS : Chrome Touch Events 無效的解決方法

前一陣子才發現教室電腦中的 Chrome 居然無法玩自己用 LimeJS 開發的 HTML5 教具和學具,本來以為是 Chrome 版本的因素,換來換去,只能用 Firefox 或是舊舊的 Safari,試了一下,「mousedown」和「touchstart」沒反應,只有「click」可以用,不過,非 LimeJS 寫的程式倒都正常。今天看到下面這個討論串,終於知道 Chrome 如何設定隱藏的選項,也知道為什麼只有 LimeJS 的程式受影響了。



LimeJS 的關鍵在「node.js」裡的「lime.Node.prototype.listen」和「lime.Node.prototype.unlisten」,它們對於有觸控螢幕的瀏覽器做了判斷特別處理:

if (lime.userAgent.SUPPORTS_TOUCH &&
        type.substring(0, 5) == 'mouse') return;

我在猜測,可能因為教室電腦中裝了 EPSON 虛擬電子白板的觸控 driver ,讓瀏覽器誤判所致。解決的方法是告訴 Chrome :停用「啟用觸控事件」


先在 Chrome 的網址內輸入以下的網址:
然後找到上圖箭頭所指的「啟用觸控事件」選項,將它設定為「停用」。

最後再按一下最下方的「立即重新啟動」,等 Chrome 重開以後,就可以正常使用原來的程式囉!







1 則留言:

  1. 謝謝分享,不過我是從自動改為啟用~

    回覆刪除

 
© 2009. Design by Pocket