2013-03-08 218 views
1

我的同伴社區 - 我在這裏需要一些幫助。我確定這很簡單,但我錯過了這個標記。所以請幫助。可可WebView和HTML5拖放

場景:
在Mac OS X 10.7或更高,我有一個網頁視圖的瀏覽器。在該webview中,我導航到Gmail。在Gmail中撰寫郵件,然後將一個或多個文件拖放到撰寫框中。

實際結果:
該紙板具有NSURL對象(一個或多個)和web視圖簡單地取絕對值字符串值並將其粘貼到編寫的消息體。對於其他編輯區域,如搜索欄等,這種行爲被接受。

期望的結果:
期望的是,拖動鼠標懸停時和下降將觸發正確的JavaScript上傳的文件觸發HTML5。這種行爲與FireFox,Safari和OmniWeb的執行方式一致。

我該如何獲得相同的一致行爲/我需要實現什麼?

我迄今爲止嘗試:

  • 使用的WebView編輯代表我試圖取代在DOMRange
  • 標記我子類的WebView覆蓋performDragging:和修改DraggingSource粘貼板
  • 使用WebView偏好設置私有方法打開LocalStorage

注意:該應用將被沙盒化,目前沒有代碼簽名。

那麼我錯過了什麼,或者更好,我從哪裏開始和結束?

P.S.我已經嘗試了很多東西,我不想用迄今爲止嘗試過的無用的代碼片段來混淆這個問題。但是,如果解決了,我會將所有其他結果發佈。

回答

2

男孩我覺得很傻。解決方案很簡單,但並不明顯。

答案是這是webview的用戶代理字符串。

以下是有用信息的鏈接。 http://www.useragentstring.com/

我建議你把你的useragent字符串分析並確保它符合。

採取下面的例子:
的Mozilla/5.0(Macintosh上;英特爾的Mac OS X 10_8_2)爲AppleWebKit/XXX.XX(KHTML,例如Gecko)MyApp的/ XXX 的Safari /xxx.xx

注:'xxx.xx'是應用套件版本(我不會詳細介紹這個)。

解決方法是在結束 'Safari瀏覽器' 有標識 其他工作,如火狐

編碼愉快!真的希望這可以幫助別人。

+0

我可以證實這個解決方案,因爲我自己實現了它。我必須說,這很奇怪。你有什麼想法,爲什麼這實際上有效? – 2014-05-21 13:27:50