javascript获取img元素的完整src网址

Cha*_*rts 0 javascript jquery

我知道我可以用此获取页面上第一张图片的src url

var images = document.getElementsByTagName('img');
var image = images[0]; //get first img
var src = image.getAttribute('src');
Run Code Online (Sandbox Code Playgroud)

但是当src url为:

//domain.com/img/icon.png
Run Code Online (Sandbox Code Playgroud)

我可以通过添加以下行来解决此问题:

if (src.substring(0,2) == '//') src = 'http:'+src;
Run Code Online (Sandbox Code Playgroud)

但是后来我遇到了更多问题。就像网址是什么一样:

'/img/icon.png'
Run Code Online (Sandbox Code Playgroud)

要么

'../img/icon.png'
Run Code Online (Sandbox Code Playgroud)

而且我不知道是否还有其他尚未发现的极端情况。有什么方法可以查询src的完整网址吗?

lon*_*day 5

是。您应该使用src 属性而不是src 属性。规范化为包括基本URL:

var src = image.src;
Run Code Online (Sandbox Code Playgroud)

请参阅MDN文档HTMLImageElement.src