Получить HTML-код выбранной ссылки в Mac OS X Service - PullRequest
4 голосов
/ 02 февраля 2011

Я пишу Сервис, который будет связан с моим приложением. Пользователь должен иметь возможность щелкнуть правой кнопкой мыши ссылку в Safari (или другом веб-браузере) и вызвать мою службу и заставить ее обрабатывать ссылку (а не только текст, который выделяется, когда пользователь щелкает правой кнопкой мыши).

Единственное, что я не могу сделать, это получить URL, на который указывает ссылка. Сервисный метод дает вам NSPasteboard для чтения, который мы назовем pboard.

Очевидная вещь, чтобы попытаться получить выбранный HTML, была бы [pboard stringForType:NSPasteboardTypeHTML], но это вернуло ноль. Поэтому я позвонил [pboard types], и он возвратил public.utf8-plain-text и NSStringPboardType. Похоже, этот монтажный стол поддерживает только строки простого текста.

Я пытался вызвать [pboard addTypes:types owner:self] (где types - это массив, содержащий NSPasteboardTypeHTML и nil), но это не имело никакого значения, когда я вызвал stringForType:.

Можно ли каким-то образом извлечь HTML из монтажной панели, когда [pboard types] возвращает только простые типы строк? Могу ли я контролировать, что помещается на картон и / или что читается с него при вызове моей службы?

...