2013-03-08 3 views
1

Сообщество моих друзей - мне здесь нужна помощь. Я уверен, что это что-то простое, но просто не хватает знака. Так что, пожалуйста, помогите.Cocoa WebView и HTML5 Перетаскивание

Сценарий:
на Mac OS X 10.7 или выше, у меня есть WebView как браузер. В этом веб-просмотре я перехожу в Gmail. В Gmail я составляю сообщение, а затем перетаскиваю один или несколько файлов в поле компоновки.

Фактические результаты:
картонной имеет NSURL объект (ы) и WebView просто принимает абсолютное значение строки, и вставляет его в тело сообщения, состоящего. Для других областей редактирования, таких как панель поиска, и такое поведение принято.

Желательные Результаты:
Желательно, чтобы сопротивление вызывает HTML5 при наведении и падение вызовет правильную JavaScript для загрузки файлов. Такое поведение согласуется с тем, как работают FireFox, Safari и OmniWeb.

Как получить такое же согласованное поведение/Что мне нужно реализовать?

То, что я пытался до сих пор:

  • Использование WebView Редактирование Делегат Я попытался заменить разметку в DOMRange
  • I подклассы WebView для переопределения performDragging: и изменить DraggingSource картонная
  • Включение LocalStorage с использованием параметров WebView частных методов

Примечание: Приложение будет изолировано и в настоящее время не подписано кодом.

Так что же мне не хватает или еще лучше, где я начинаю и заканчиваю?

P.S. Я пробовал так много вещей, я не хотел загромождать этот вопрос с бесполезными фрагментами кода, которые я пробовал до сих пор. Однако, если он будет решен, я опубликую результаты для всех остальных.

ответ

2

Мальчик, я чувствую себя глупо. Решение было простым, но не очевидным.

Ответ: пользовательский агент строка для веб-представления.

Вот ссылка полезной информации. http://www.useragentstring.com/

Я рекомендую вам поместить вашу строку useragent для анализа и убедиться, что она соответствует.

Рассмотрим следующий пример:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/xxx.xx (KHTML, как Gecko) MyApp/ххх Safari /xxx.xx

Примечание : «xxx.xx» - это версия приложения (я не буду вдаваться в подробности об этом).

Исправление идентификатор там в конце 'Safari' Другие работают на таких, как Firefox

Счастливый кодирования! Надеюсь, это поможет кому-то.

+0

Я могу подтвердить это решение, поскольку я только что реализовал его сам. Должен сказать, это довольно странно. У вас есть идеи, почему это действительно работает? –

Смежные вопросы