iOS 关于网页信息的获取
1.在 webview 加载完成的方法里获取到所有源代码,第一个判断是 用于微信制作的html
页面,截取图片路径时,注意要将空格符,分行符等符号去掉。
可用于微信分享获取到 html 里面的分享描述和分享标题,分享
URL,分享的图片等,也可以获取其他所需要摘取的信息。
NSString *currentURL = [webView
stringByEvaluatingJavaScriptFromString:@"document.location.href"];//页面url
urlTitle= [webViewstringByEvaluatingJavaScriptFromString:@"document.title"];//分享标题
NSString *JsToGetHTMLSource =@"document.body.innerHTML";
NSString *HTMLSource = [webView
stringByEvaluatingJavaScriptFromString:JsToGetHTMLSource];//HTML源代码
第二个判断则是自己制作的可微信分享的html 页面
第三个判断则是后台拉取的图片路径。
2.后面还要将图片转成
data,读入指定的路径,并且每次有数据进来时都要删除原路径,生成相同路径不同的数据,以确保通用性。
NSData* data = [NSData dataWithContentsOfURL:[NSURL
URLWithString:youhuijuanImg]];//传 data
BOOL success;
NSFileManager *fileManager = [NSFileManagerdefaultManager];
NSError*error;
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documentsDirectory = [pathsobjectAtIndex:0];
imageFilePath = [documentsDirectorystringByAppendingPathComponent:@"shareImg.jpg"];
success = [fileManagerfileExistsAtPath:imageFilePath];
if(success)//成功后要删除路径,以便保存不同的图片路径 {
success = [fileManager removeItemAtPath:imageFilePatherror:&error];
}
3.//写入文件
[data writeToFile:imageFilePath atomically:YES];
4.分享拉取到的内容
//创建弹出菜单容器
idcontainer = [ShareSDKcontainer];
[container setIPadContainerWithView:nilarrowDirect:UIPopoverArrowDirectionUp];
if(![self.model.game_urlisEqualToString:@""])//分享html的微信分享描述和微信分享图片url {
shareUrl =self.model.game_url; //构造分享内容
self.publishContent = [ShareSDKcontent:msg_desc defaultContent:@"亲邻开门" image:[ShareSDKimageWithPath:imageFilePath] title:urlTitle url:shareUrl description:nil mediaType:SSPublishContentMediaTypeNews];
}