我的同胞社区——我在这里需要一些帮助。我确信这很简单,但我只是错过了标记。所以请帮忙。
场景:
在 Mac OS X 10.7 或更高版本上,我有一个 webview 作为浏览器。在该网络视图中,我导航到 Gmail。在 Gmail 中,我撰写邮件,然后将一个或多个文件拖放到撰写框中。
实际结果:
粘贴板具有 NSURL 对象,webview 只需获取绝对字符串值并将其粘贴到组合的消息正文中。对于像搜索栏这样的其他编辑区域,这种行为是可以接受的。
期望的结果:
希望在鼠标悬停时拖动触发 HTML5,并且拖放将触发适当的 javascript 来上传文件。此行为与 FireFox、Safari 和 OmniWeb 的执行方式一致。
我如何获得相同的一致行为/我需要实现什么?
到目前为止我已经尝试过:
- 使用 WebView Editing Delegate 我尝试替换 DOMRange 中的标记
- 我将 WebView 子类化以覆盖 performDragging: 并修改 DraggingSource 粘贴板
- 使用 WebView 首选项私有方法打开 LocalStorage
注意:该应用程序将被沙盒化,目前未进行代码签名。
那么我错过了什么或者更好的是我从哪里开始和结束呢?
PS我已经尝试了很多东西,我不想用我迄今为止尝试过的无用代码片段来混淆这个问题。但是,如果解决了,我会将我的结果发布给所有其他人。