使用getEntriesByType方法获取。
// ==UserScript== // @name 仿via资源嗅探 // @namespace https://palhube666.wodemo.com/ // @version 0.2 // @description 仿via资源嗅探js版本 // @author 呆毛飘啊飘 // @run-at document-start // @match * // @grant GM_registerMenuCommand // @downloadURL https://update.greasyfork.icu/scripts/471390/%E4%BB%BFvia%E8%B5%84%E6%BA%90%E5%97%85%E6%8E%A2.user.js // @updateURL https://update.greasyfork.icu/scripts/471390/%E4%BB%BFvia%E8%B5%84%E6%BA%90%E5%97%85%E6%8E%A2.meta.js // ==/UserScript== (function() { GM_registerMenuCommand("资源嗅探①", function() { getUrlA() }); GM_registerMenuCommand("资源嗅探②", function() { getUrlB() }); function getUrlB() { var tj = 'f'; var entries = window.performance.getEntriesByType('resource'); var z = ''; entries.forEach(entry => { if (entry.initiatorType == 'video' || entry.entryType == 'video' || entry.initiatorType == 'audio' || entry.entryType == 'audio') { var sp = "
"; var url = entry.name; if (url) { var hz = url.substring(url.lastIndexOf('.'), url.length); var hzz = hz.substring(0, hz.indexOf('?')); if (!hz) { var sp = sp.replace(/链接/g, url) .replace('后缀', ''); } else if (!hzz) { var sp = sp.replace(/链接/g, url) .replace('后缀', '后缀') .replace('后缀', hz); } else { var sp = sp.replace(/链接/g, url) .replace('后缀', '后缀') .replace('后缀', hzz); } z = z + sp; }; tj = 't'; } }); if (tj == 'f') { if (!via.toast) { alert('这个页面没有资源。\n注:音乐或视频在播放时更容易被获取。资源嗅探不支持部分网站。'); } else { via.toast('这个页面没有资源。\n注:音乐或视频在播放时更容易被获取。资源嗅探不支持部分网站。'); } } else { var qm = "