Я делаю iOS APP, данные которого поступают с веб-сайта. Я собираюсь выяснить, как загружать больше данных, когда пользователи прокручивали tableView на дно.UIWebView Trigger Загрузите больше с сайта Ajax
ПРИМЕЧАНИЕ: UIWebView я создал в фоновом режиме, так что я могу получить содержание того, что Webview показывает в этой халтуры способом, но то, что пользователи могут взаимодействовать только является UITableView, однако.
Причина, по которой мои APP нужны, поступает с веб-сайта (Ajax). Я использовал этот метод для получения содержимого веб-сайта. Да, я сделал это с UIWebView
в методе делегата webView:shouldStartLoadWithRequest
.
NSString *htmlString = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerHTML"];
Это прекрасно работает, и у меня есть контент.
Но проблема возникла, как я уже говорил ранее, когда пользователь прокручивает вниз, tableView необходимо загрузить больше данных. Итак, моему UIWebView
также необходимо загрузить больше контента для анализа большего количества данных из контента, чтобы tableView мог идти вперед. Примечание: Я НЕ контролирую страницы на сервере, поэтому я не смог получить API. (Будет возможно запрос междоменное?)
Я думал об этих 2 методов:
МЕТОД 1. Смоделировать салфетки жест, чтобы вызвать нагрузки более (Когда Webview прокрутки вниз, больше нагрузки срабатывает автоматически)
МЕТОД 2. Внесите JavaScript, чтобы сообщить UIWebView
, чтобы загрузить больше данных.
Я использовал инструмент разработчика в Chrome, чтобы получить больше запросов на загрузку. Вот что я получил.
Remote Address:54.165.215.138:443
Request URL:https://color.adobe.com/api/v2/themes?filter=public&startIndex=144&maxNumber=36&sort=like_count&time=week
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip, deflate, sdch
accept-language:zh
accept-version:2.0.0
Cache-Control:max-age=0
Connection:keep-alive
Content-Type:application/json
Cookie:[email protected]=T; international=cn; storeregion=cn; __lc.visitor_id.1031448=S1421040023.3b40036efc; 57472748-VID=111520816; sfdc_session=-; mbox=PC#1422579254596-83420.19_07#1423794285|session#1422583820268-575696#1422586545|check#true#1422584745; kuler-loc=zh; cookies-enabled=1; s_pers=%20s_fid%3D35A9926601E31AD1-1D7E51664BFBD9C5%7C1485743101094%3B%20s_vs%3D1%7C1422586501096%3B%20gpv%3Dcolor.adobe.com%2520%253A%2520Explore%2520%253A%2520Most%2520Popular%2520%253A%2520Week%7C1422586501098%3B%20s_nr%3D1422584701102-Repeat%7C1454120701102%3B; s_sess=%20s_ppv%3D-%252C100%252C18%252C8054%3B%20s_cpc%3D0%3B%20s_cc%3Dtrue%3B%20s_sq%3D%3B; s_vi=[CS]v1|2A3C2EE20548B5C7-40000105000065EB[CE]; aam_uuid=33030698550757492143013270951098470183
Host:color.adobe.com
If-Modified-Since:Sat, 1 Jan 2000 00:00:00 GMT
Referer:https://color.adobe.com/zh/explore/most-popular/?time=week
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36
x-api-key:7810788A1CFDC3A717C58F96BC4DD8B4
X-NewRelic-ID:UQAPV1JRGwEGV1RVBgQ=
X-Requested-With:XMLHttpRequest
Query String Parametersview sourceview URL encoded
filter:public
startIndex:144
maxNumber:36
sort:like_count
time:week
Response Headersview source
Access-Control-Allow-Headers:Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Content-Language, Date, Api-Version, Response-Time, X-API-Key
Access-Control-Allow-Methods:GET, POST
Access-Control-Allow-Origin:*
Access-Control-Expose-Headers:Api-Version, Request-Id, Response-Time, X-API-Key
Api-Version:2.0.0
Cache-Control:no-cache, must-revalidate
Connection:keep-alive
Content-Encoding:gzip
Content-Language:zh
Content-MD5:Hbz5uI3q/P2aEQ0+0TfZgg==
Content-Security-Policy:default-src 'self'; img-src 'self' *.behance.net *.s2stagehance.com data: *.typekit.net *.adobe.com *.newrelic.com *.nr-data.net; font-src 'self' data: *.typekit.net; style-src 'self' 'unsafe-inline' *.typekit.net *.adobe.com adobe.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.services.adobe.com *.adobe.com *.adobetag.com *.typekit.net *.tt.omtrdc.net adobe.demdex.net *.newrelic.com *.adobelogin.com *.behance.net net.s2stagehance.com *.adobesunbreak.com; frame-src 'self' *.services.adobe.com *.adobelogin.com *.adobe.com adobe.com *.adobeku.com *.facebook.com *.adobe.demdex.net adobe.demdex.net; report-uri /api/v2/csp-reports; connect-src 'self' accounts.adobe.com www-stage.adobesunbreak.com *.services.adobe.com;
Content-Type:application/json
Date:Fri, 30 Jan 2015 02:25:26 GMT
Expires:-1
Request-Id:4043bed0-a827-11e4-98a0-81fb44ac31c8
Response-Time:20
Server:kuler-prod
Strict-Transport-Security:max-age=31104000
transfer-encoding:chunked
X-Content-Type-Options:nosniff
X-Frame-Options:SAMEORIGIN
X-XSS-Protection:1; mode=block
Так мне интересно, есть ли способ, чтобы вызвать нагрузки Более в UIWebView. Есть ли способ взломать это? Если мой вопрос не ясен, не стесняйтесь спрашивать. Благодарю.
Множество данных - это данные, а не данные. Данные приемлемы как для сингулярной, так и для множественной формы. – ozz