Высота UIWebView - PullRequest
       14

Высота UIWebView

0 голосов
/ 20 октября 2011

Я пытаюсь получить высоту содержимого в моем UIWebView после загрузки содержимого.Я нашел этот пример где-то ...

NSInteger height = [[descriptionWebView stringByEvaluatingJavaScriptFromString:
                     @"document.documentElement.scrollHeight"] integerValue];

, но это просто дает мне высоту контейнера UIWebView.

Я пытаюсь получить высоту контента, чтобы я мог увеличить высоту UIWebView, чтобы показать весь контент без прокрутки на стороне самого веб-просмотра.

Ответы [ 2 ]

1 голос
/ 11 августа 2016

Вы можете использовать скрипт следующим образом:

[[descriptionWebView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"] floatValue];
0 голосов
/ 20 октября 2011

Я бы выбрал какой-то хакерский, но надежный способ. Во-первых, я смотрю на shouldStartLoadWithRequest. Это ловит location.href = изменения. Затем я просто определяю свой собственный протокол, например,

location.href='debug://width='+$(window).height();

Ваш код ObjC перехватывает это, проверяет ссылку, анализирует ее и отменяет навигацию.

Для вашего собственного контента вы можете просто включить его, в противном случае вы должны внедрить необходимый javascript. Я сам не пробовал, но, похоже, есть много решений:

Добавление локального JavaScript в UIWebView

...