iOS WebView长按获取图片链接js

对于webview长按获取图片链接刚开始用的是

function imageSourceFromPoint(x, y) {

var element = document.elementFromPoint(x, y);

if (element.tagName == 'IMG' && element.src) {

return element.src;

}

return null;

}

在正常的html上可以达到效果,但是测试的时候发现有时候获取的链接是html的链接,于是查看了下html的结构,原来图片是在iframe中,上面的js获取到的是iframe的src,这肯定不是我们想要的结果了,于是就有了下面的版本

function imageSourceFromPoint(x, y) {

var element = document.elementFromPoint(x, y);

if (element.tagName == 'IMG' && element.src) {

return element.src;

}else if (element.tagName == 'IFRAME') {

var obj = element.contentWindow.document.elementFromPoint(x, y);

if (obj.tagName == 'IMG' && obj.src) {

return obj.src;

}

}

return null;

}

很简单,就是对iframe加了一层判断。

最后,目前js只是针对个人遇到的情况,也许还有其他case,欢迎补充!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,945评论 2 17
  • 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放...
    孤魂草阅读 928评论 0 0
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 2,120评论 1 10
  • 以下是常用的代码收集,学习用。转自豪情博客园 1. PC - js 返回指定范围的随机数(m-n之间)的公式 re...
    自由加咖啡阅读 1,030评论 0 1
  • 爱情是一件很神圣的东西,它存在于每一个人的身上。而婚姻呢,婚姻是爱情的升华,是幸福的开始。可是现如今很少能看到爱情...
    白纸s阅读 739评论 7 0