UIWebView - Как определить “последнее” сообщение webViewDidFinishLoad?

Разница заключается в реляционной алгебре, где проект влияет на столбцы, а выбор влияет на строки. Однако в синтаксисе запроса выберите слово. Нет такого запроса как проект. Предполагается, что есть таблица с именем users с сотнями тысяч записей (строк), и таблица имеет 6 полей (userID, Fname, Lname, age, pword, salary). Допустим, мы хотим ограничить доступ к конфиденциальным данным (userID, pword и salary), а также ограничить объем данных, к которым осуществляется доступ. В mysql maria DB мы создаем представление следующим образом (Создайте представление user1 как выберите Fname, Lname, age от users limit 100;) из нашего представления, которое мы выдаем (выберите Fname из users1;). Этот запрос является одновременно выбором и проектом

21
задан chendral 25 May 2009 в 23:35
поделиться

3 ответа

Интересно, я бы не подумал, что это будет так работать. Хотя я уверен, что есть и другие способы сделать это (есть ли способ извлечь URL-адрес из сообщения webViewDidFinishLoad, чтобы вы могли видеть, какая из них завершает загрузку главной страницы?), Главное, что я могу придумать, - это использовать оцениваемыйProgress, чтобы проверить прогресс страницы и запустить все, что вы хотите сделать, когда загрузка будет на 100% завершена, что я и делаю в своем приложении. Погуглите "iphone webview Estimatedprogress" и щелкните первую ссылку, чтобы получить руководство, которое я написал о том, как это сделать.

Обновление:

Пожалуйста, используйте ответ Phopkins ниже вместо моего! Использование частных API в ваших приложениях - плохая идея, и вы, вероятно, получите отказ, и его решение является правильным.

9
ответ дан 29 November 2019 в 06:13
поделиться

Я делаю это так:

- (void)webViewDidFinishLoad:(UIWebView *)webview  {
    if (webview.loading)
    return;
    // now really done loading code goes next
    [logic]
}
-7
ответ дан 29 November 2019 в 06:13
поделиться

Я предполагаю, что фреймы вызывают пару webViewDidStartLoad / webViewDidFinishLoad .

Проверка [webView isLoading] , упомянутая в качестве ответа, у меня не сработала; он вернул false даже после первого из двух вызовов webViewDidFinishLoad . Вместо этого я отслеживаю загрузку следующим образом:

- (void)webViewDidStartLoad:(UIWebView *)webView {
  webViewLoads_++;
}


- (void)webViewDidFinishLoad:(UIWebView *)webView {
  webViewLoads_--;

  if (webViewLoads_ > 0) {
    return;
  }

  …
}

- (void)webView:(UIWebView*)webView didFailLoadWithError:(NSError*)error {
  webViewLoads_--;
}

(Обратите внимание, что это будет работать, только если пары начало / конец не приходят последовательно, но, по моему опыту, пока этого не произошло.)

{{ 1}}
61
ответ дан 29 November 2019 в 06:13
поделиться