// ==UserScript== // @name CollectMissingSrc // @namespace http://gitbay.net/ // @version 0.1 // @description 收集console的error数据! // @author Emery // @include http://*/* // @include https://*/* // @grant none // @downloadURL https://update.greasyfork.icu/scripts/377489/CollectMissingSrc.user.js // @updateURL https://update.greasyfork.icu/scripts/377489/CollectMissingSrc.meta.js // ==/UserScript== (function() { 'use strict'; function getMissingSrc(tagMap,resources_list){ var tagName = tagMap.tagName; var tagSrc = tagMap.tagSrc; var results = []; var els = document.getElementsByTagName(tagName) for(var i=0;i10 ){ if(resources_list[ src]){ continue; } results.push(src); //console.log( '发现加载错误',i, src, a); } } return results; } function collectMissingSrcAsset(){ // 收集已经加载的资源 var resources = performance.getEntriesByType("resource"); var resources_list ={}; for(var i = 0;i < resources.length;i++){ var r =resources[i]; resources_list[ r.name ] = r.initiatorType ; //console.log(i,r.initiatorType ,r.name,r) } var tagsMap = [{'tagName': 'img' , 'tagSrc': 'src'}, {'tagName': 'script' , 'tagSrc': 'src'}, {'tagName': 'link' , 'tagSrc': 'href'}, {'tagName': 'source' , 'tagSrc': 'src'}, {'tagName': 'video' , 'tagSrc': 'src'}, {'tagName': 'xml' , 'tagSrc': 'src'}, {'tagName': 'embed' , 'tagSrc': 'src'} ]; // //