自动阻止网页加载 SVG 链接:油猴脚本和 JS 代码实现
是的,可以使用油猴脚本或 JS 代码来实现自动或半自动化阻止 SVG 链接的加载。
使用油猴脚本可以通过监听页面加载事件,在页面加载完成后自动勾选阻止 URL 选项,从而禁止 SVG 链接的加载。以下是一个示例脚本:
// ==UserScript==
// @name Block SVG Link
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Block SVG link in a webpage using DevTools feature - Block URL
// @match https://*/*
// @match http://*/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
window.addEventListener('load', function() {
// Find the SVG link you want to block
var svgLink = document.querySelector('a[href$=".svg"]');
if (svgLink) {
// Trigger a click event on the SVG link to open DevTools
var event = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true
});
svgLink.dispatchEvent(event);
// Wait for DevTools to open
setTimeout(function() {
// Find the Block URL checkbox and check it
var blockUrlCheckbox = document.querySelector('#block-url-checkbox');
if (blockUrlCheckbox) {
blockUrlCheckbox.checked = true;
}
}, 1000);
}
});
})();
这个脚本会在页面加载完成后查找所有带有 '.svg' 后缀的链接,然后模拟点击它们来打开 DevTools。在 DevTools 中,脚本会等待 1 秒钟,然后查找并勾选 'Block URL' 选项。
你也可以使用类似的方法在页面中插入一个隐藏的 SVG 元素,然后自动阻止加载。以下是一个示例代码:
// Create a new SVG element
var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
svg.style.display = 'none';
// Add a dummy SVG element to trigger DevTools
var dummy = document.createElementNS('http://www.w3.org/2000/svg', 'rect');
svg.appendChild(dummy);
// Attach the SVG element to the document body
document.body.appendChild(svg);
// Open DevTools and block the URL
setTimeout(function() {
var event = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true
});
dummy.dispatchEvent(event);
setTimeout(function() {
var blockUrlCheckbox = document.querySelector('#block-url-checkbox');
if (blockUrlCheckbox) {
blockUrlCheckbox.checked = true;
}
}, 1000);
}, 1000);
这个代码会创建一个隐藏的 SVG 元素,然后将它附加到页面中。脚本会等待 1 秒钟,然后模拟点击 SVG 元素来打开 DevTools。在 DevTools 中,脚本会等待另外 1 秒钟,然后查找并勾选 'Block URL' 选项。这个操作会阻止所有后续加载的 SVG 链接。
原文地址: https://www.cveoy.top/t/topic/oJk8 著作权归作者所有。请勿转载和采集!