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,欢迎补充!

你可能感兴趣的:(iOS WebView长按获取图片链接js)