UIWebView - как получить посещенные ссылки для отображения как посещенные? - PullRequest
2 голосов
/ 11 ноября 2008

У меня в приложении для iPhone есть UIWebView, который весело показывает веб-контент, но не отображает посещенные ссылки по-другому, чем не посещенные ссылки. Обычно я ожидаю, что для посещенных ссылок будет использоваться другой цвет, но, увы, нет.

Safari, с другой стороны, правильно обрабатывает ссылки. Я предполагаю, что UIWebView не хватает хранилища информации о том, какие URL он посетил. Разумно ожидать, что делегат предоставит эту информацию, но в делегате нет ни одного такого API или где-либо еще, что я могу видеть.

Итак, как я могу заставить UIWebView показывать посещенные ссылки как посещенные?

Ответы [ 2 ]

1 голос
/ 12 ноября 2008

Я пришел к выводу, что единственный способ получить эту функцию - подделать ее.

Я получил это успешно, добавив функцию JavaScript ко всем страницам, чтобы применить «посещенный» класс ко всем ссылкам, цель которых находится в списке, который я передаю из Objective-C (с помощью stringByEvaluatingJavaScriptFromString: метода UIWebView). Затем мне просто нужно сохранить этот список в мире Objective-C и всегда запускать эту функцию JS в делегате webViewDidFinishLoad: метод. Самым сложным был JavaScript.

0 голосов
/ 11 ноября 2008

Помимо изменения свойств CSS в javascript с помощью вызова stringByEvaluatingJavaScriptFromString: вероятно, не существует поддерживаемого способа сделать это в официальном SDK. UIWebView очень ограничен по сравнению с WebView на рабочем столе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...