iOS中,一般使用UIWebView加载来自后台的文章页面,而在涉及分享功能时,经常需要从加载的页面中获取图片或者通用的说,某一个javascript element
的值,即涉及到iOS与javascript的交互,项目中用到了几个方法,记录。
NSString *url = [_articleDetailWebView stringByEvaluatingJavaScriptFromString:
@"document.location.href”];
NSString *shareTitle = [_articleDetailWebView stringByEvaluatingJavaScriptFromString:@"document.getElementById('url_read_article').innerText"];
获取到
<div class="url_read_article" id="url_read_article" style="display:none">
http: mrt.hsmrt.com/server/show_iphone.php?id=433
</div>
中的
http: mrt.hsmrt.com/server/show_iphone.php?id=433
NSString *topImg = [_articleDetailWebView stringByEvaluatingJavaScriptFromString: @"document.getElementsByTagName('img')[0].src"];
获取到
`<img class="top_img" src="http://mrt.hsmrt.com/app/pics/433/index_sma_img.jpeg">`
中img标签中的src属性的值,即
http://mrt.hsmrt.com/app/pics/433/index_sma_img.jpeg
;
由于getElementsByTagName
返回的是一个元素列表,故需要根据具体的html页面布局取相应的值,或者通过getElementById/getElementByClass
进行一些限定。