Точка документа Word на HTML с использованием UIWebView, DOM и Javascript - PullRequest
1 голос
/ 04 мая 2010

Как я могу определить, какое слово находится в точке, где пользователь нажал на UIWebView?

Я могу обнаружить CGPoint для крана (подкласс UIWindow, как this ), и я могу фактически получить элемент DOM в этой точке , используя JavaScript .

Но я очень мало знаю о javascript и DOM, чтобы понять, как мне узнать, какое слово пользователь нажал.

Это возможно? Вот что у меня сейчас:

int scrollPosition = [[webView stringByEvaluatingJavaScriptFromString:@"window.pageYOffset"] intValue];
NSString *js = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).tagName", point.x, point.y+scrollPosition];
NSString *value = [webView stringByEvaluatingJavaScriptFromString:js];

NSLog(@"element: %@", value);

Ответы [ 2 ]

1 голос
/ 04 мая 2010

Я не уверен, как вы могли бы получить точное слово, но, я полагаю, вы можете получить текст в элементе, проходящем через дочерние элементы и ищущем элементы с nodeType 3, который является текстом.

0 голосов
/ 04 мая 2010

Был метод, который я не могу найти прямо сейчас, который позволяет вам передавать информацию из UIWebView обратно "вверх" в содержащее приложение Какао с некоторым мостом Javascript. Поэтому я прикрепляю обработчики «щелчка» ко всем интересующим элементам в UIWebView и запускаю некоторое сообщение в родительский контейнер с помощью этого магического моста.

Предполагается, что вы контролируете содержимое UIWebView и можете внедрить необходимый Javascript. Если это нужно для работы с любой веб-страницей, это сложнее.

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