extract img ajax

by Luis Martin

JavaScript

(function urlList() { 

	jQuery.ajax({
		type: "GET",
		url: "https://optimize.google.com/optimize/home/#/accounts/1174608170/containers/6438755/experiments/742",
		dataType: "text",
		success: function(data) {
			var allTextLines = data.split(/\r\n|\n/);
			var result = allTextLines.filter(el=> el.split(";")[0] == window.location.pathname )[0].split(";")
			var origin = result.shift()

			result.filter(l=>l).map( url => {
				prefetchImages(url);
			})	
		},
		error: function (data, status) {console.log(data,status) }
	});
})();//autocall

function prefetchImages(url){
	jQuery.ajax({
		url: url,
		success: function(data) {
			console.groupCollapsed("URL -", url);
		    //finds <img>
		    var imgs = 0;
		    var set = new Set();
		    jQuery(data).find('img').each((_, img) => {
		    	if (imgs < 10) {
		    		var url = img.src;

		    		if (!set.has(url)) {
		    			set.add(url);
		    			imgs++;
		    		}
		    	}
		    });

		    var imgArr = Array.from(set);
		    if (imgArr) {
		    	imgArr.map(url => {
		    		jQuery("<link/>", {
		    			rel: "prefetch",
		    			href: url
		    		}).appendTo("head");
		    		console.log("prefetch -", url)
		    	});
		    }
		    console.groupEnd();
		    /*
		    //search the css
		    let doc = document.implementation.createHTMLDocument('n');
		    doc.write(data);
		    let links = doc.getElementsByTagName('link')
		    console.log([...links].filter(el => jQuery(el).attr('id')).map(el => jQuery(el).attr('href')))
		    */
		}
	});

}