Как ссылаться на HTML-якорь? - PullRequest
4 голосов
/ 17 апреля 2009

Я загружаю строку HTML в UIWebView через loadHTMLString. Это создает очень длинную веб-страницу. После загрузки этой строки мне нужно перейти к тегу привязки HTML с установленным атрибутом name. В HTML я мог бы иметь:

//3 pages of text here
<a name="go here"></a> lots more text here
//another 3 pages of text here

Мне нужно, чтобы веб-страница прокручивалась вниз до «иди сюда» после загрузки. Сопоставления работают нормально, если пользователь щелкает ссылку внутри веб-страницы и загружает внешний URL-адрес. Но в этом случае мне нужно сначала прокрутить вниз уже загруженную веб-страницу.

Я все еще могу выполнить JavaScript следующим образом:

[MyWebView loadHTMLString:dataString baseURL:[NSURL URLWithString:@"http://www.myscheme.com"]]; 
[webView stringByEvaluatingJavaScriptFromString:@"javascriptFunc('param1');"];

Но мне нужно нечто подобное для перехода к тегу привязки. Есть предложения?

Ответы [ 2 ]

10 голосов
/ 29 декабря 2009

Вы можете перейти к привязке в уже загруженном HTML-файле, выполнив:

[webView stringByEvaluatingJavaScriptFromString:@"window.location.hash='#foo'"];

это сделает прыжок без анимации.

1 голос
/ 17 апреля 2009

Если я не ошибаюсь, просто добавьте # go% 20 здесь в конец URL

РЕДАКТИРОВАТЬ: ааа вы имеете в виду уже загружен. Неужели просто перезагружать страницу? В любом случае браузер должен был кешировать большинство из них ...

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