在网页加载完成时,通过js获取图片和添加点击的识别方式
十多年的海珠网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整海珠建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“海珠网站设计”,“海珠网站推广”以来,每个客户项目都认真落实执行。
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[IDProgressHUD IDPlaceViewHideDirect:self.view];
//这里是js,主要目的实现对url的获取
static NSString * const jsGetImages =
@"function getImages(){\
var objs = document.getElementsByTagName(\"img\");\
var imgScr = '';\
for(var i=0;iobjs.length;i++){\
imgScr = imgScr + objs[i].src + '+';\
};\
return imgScr;\
};";
[webView stringByEvaluatingJavaScriptFromString:jsGetImages];//注入js方法
NSString *urlResurlt = [webView stringByEvaluatingJavaScriptFromString:@"getImages()"];
mUrlArray = [NSMutableArray arrayWithArray:[urlResurlt componentsSeparatedByString:@"+"]];
if (mUrlArray.count = 2) {
[mUrlArray removeLastObject];
}
//urlResurlt 就是获取到得所有图片的url的拼接;mUrlArray就是所有Url的数组
//添加图片可点击js
[mWebView stringByEvaluatingJavaScriptFromString:@"function registerImageClickAction(){\
var imgs=document.getElementsByTagName('img');\
var length=imgs.length;\
for(var i=0;ilength;i++){\
img=imgs[i];\
img.onclick=function(){\
window.location.href='image-preview:'+this.src}\
}\
}"];
[mWebView stringByEvaluatingJavaScriptFromString:@"registerImageClickAction();"];
}
//在这个方法中捕获到图片的点击事件和被点击图片的url
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
//预览图片
if ([request.URL.scheme isEqualToString:@"image-preview"]) {
NSString* path = [request.URL.absoluteString substringFromIndex:[@"image-preview:" length]];
path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
//path 就是被点击图片的url
return NO;
}
return YES;
}
javascript 调用百度地图API
%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head runat="server"
title/title
script type="text/javascript" src=";v=1.3"
/script
/head
body
p
地址:input id="txtSearch" type="text" /
input type="button" value="搜索" onclick="search()" //p
div style="width: 800px; height: 600px; border: 1px solid gray;" id="container"
/div
/body
script type="text/javascript"
function $(id) {
return document.getElementById(id); //定义$
}
var map = new BMap.Map("container"); //创建地图
map.centerAndZoom(new BMap.Point(116.330599, 39.95536), 10); //初始化地图
map.enableScrollWheelZoom(); // 开启鼠标滚轮缩放
map.enableKeyboard(); // 开启键盘控制
map.enableContinuousZoom(); // 开启连续缩放效果
map.enableInertialDragging(); // 开启惯性拖拽效果
map.addControl(new BMap.NavigationControl()); //添加标准地图控件(左上角的放大缩小左右拖拽控件)
map.addControl(new BMap.ScaleControl()); //添加比例尺控件(左下角显示的比例尺控件)
map.addControl(new BMap.OverviewMapControl()); // 缩略图控件
map.addControl(new BMap.MapTypeControl());
var city = new BMap.LocalSearch(map, { renderOptions: { map: map, autoViewport: true} }); //地图显示到查询结果处
function search() {
var s = $("txtSearch").value;
city.search(s); //查找城市
}
/script
/html
var imgs = document.getElementsByTagName("img");
var imgURLs=new Array(imgs.length);
for(var i = 0;iimgs.length;i++){
imgURLs[i] = imgs[i].src;//如果用document.getElementsByTagName("img")[i].src;每取一个图片地址就会对全部图片查找一次,这样效率比较低,还是储存在imgs中比较好!
}
//以上代码最好放在页面的最后面,或window.onload事件里,这样就不会因为页面没有全部加载完而没有全部读取到img元素
script
function change_img(s){
document.getElementById("diukai_com_Img").src=s;
}
/script
input type="button" value="1" onclick="change_img('')" /
input type="button" value="2" onclick="change_img('')" /
img id="diukai_com_Img" src="" style="display:none" onload="this.style.display='block';" /
1~坐标点击就是直接点击某个点,这个点是固定的,所以在不同分辨率兼容性差,所以不推荐使用,不详说,主要说说其他几个
2~控件点击是autojs左右特点的一项功能,它是基于安卓的无障碍功能的,在软件上有很好的支持,但是游戏就不行了。具体的教程很多,不多说了,就说说我在使用时踩得一些坑。
①有些控件能用autojs的工具找到,但是写出来后却识别不出来,手动滑动一下屏幕就能找到了,不知道是不是BUG,所以加个判断,防止找不到脚本出错
②寻找控件建议不要用findOne()、waitFor()、exists()等一些会阻塞的方法,不然稍微出现一点其他事件就会阻塞,导致脚本莫名其妙的卡死,使用findOne(timeout)、findonce()时可以加个判断在不为null的时候再点击或其他操作,因为没找到返回null,直接click就会报错,脚本停止运行,要是是找的父或者子控件也写到判断里
③找图找色特别消耗内存,所以在能用控件就用控件,找图找色在找到后要用recycle()来对创建的图像对象回收,提高脚本稳定,让脚本能持续运行更长时间,截图也需要一定的时间
④如果脚本有悬浮窗,使用找图要注意不要将要找的图遮挡
⑤控件中使用text比id要靠谱一些,在一些软件中id是会改变的
ps:如果有问题可以在评论区评论,会的我会解答,不定时更新,可以点点关注和小心心哦
很简单,能够获取到吗?用id获取到那个图片,然后obj.src就是这个属性了,可读也可写,可以做很多操作的!具体的东西你可以去我的博客里面有分享免费视频教程,欢迎来下载!我也是通过别人的分享学会的,希望可以把这份坚持传递下去,让更多人看到!hulianwang点ren(把点换成.)