现在论坛中的高分辨率的图片不放大都看不清。
有,但是服务器资源不允许,所以没有开上传图片功能,就没有放大功能。
可以右键新窗口打开,或者不知道有没有大神写一个油猴脚本…来放大
edge有个图片放大,快捷键是双击Ctrl吗,不知道是不是冲突了只能右键点
我这里的 edge 是点两下 ctrl
使用ai撸了一个代码,双击图片放大,鼠标滚动缩放,双击关闭
// ==UserScript==
// @name Image Double Click Zoom
// @description 双击图片时进行弹框放大显示,并允许用户进行缩放。
// @author Your Name
// @match https://meta.appinn.net/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 创建一个全局的div用于显示放大后的图片
const zoomContainer = document.createElement('div');
zoomContainer.style.position = 'fixed';
zoomContainer.style.top = '0';
zoomContainer.style.left = '0';
zoomContainer.style.width = '100%';
zoomContainer.style.height = '100%';
zoomContainer.style.backgroundColor = 'rgba(0, 0, 0, 0.8)';
zoomContainer.style.display = 'none';
zoomContainer.style.justifyContent = 'center';
zoomContainer.style.alignItems = 'center';
zoomContainer.style.zIndex = '9999';
const zoomImage = document.createElement('img');
zoomImage.style.maxWidth = '90%';
zoomImage.style.maxHeight = '90%';
zoomImage.style.transformOrigin = 'top left';
zoomImage.style.transition = 'transform 0.3s ease-out';
zoomImage.style.transform = 'scale(1)'; // 初始化 transform 属性
zoomImage.style.transformOrigin = 'center';
let scale = 1;
let lastX = 0, lastY = 0;
function handleDoubleClick(event) {
if (event.target.tagName.toLowerCase() === 'img') {
event.stopPropagation();
event.preventDefault();
zoomImage.src = event.target.src;
zoomContainer.style.display = 'flex';
scale = 1;
zoomImage.style.transform = `scale(${scale}) translate(0px, 0px)`;
}
}
function handleWheel(event) {
event.preventDefault();
const delta = Math.sign(event.deltaY);
const newScale = scale - delta * 0.1;
if (newScale > 0 && newScale <= 5) {
scale = newScale;
// const rect = zoomImage.getBoundingClientRect();
// const offsetX = event.clientX - rect.left;
// const offsetY = event.clientY - rect.top;
// lastX += (offsetX / scale) * delta * 0.1;
// lastY += (offsetY / scale) * delta * 0.1;
zoomImage.style.transform = `scale(${scale})`;
}
}
function handleMouseDown(event) {
// lastX = event.clientX - parseFloat(zoomImage.style.transform.match(/translate\(([-+]?\d+(\.\d+)?)px,/)[1]);
// lastY = event.clientY - parseFloat(zoomImage.style.transform.match(/, ([-+]?\d+(\.\d+)?)px\)/)[1]);
// window.addEventListener('mousemove', handleMouseMove);
// window.addEventListener('mouseup', handleMouseUp);
}
function handleMouseMove(event) {
const dx = event.clientX - lastX;
const dy = event.clientY - lastY;
zoomImage.style.transform = `scale(${scale}) translate(${dx}px, ${dy}px)`;
}
function handleMouseUp() {
window.removeEventListener('mousemove', handleMouseMove);
window.removeEventListener('mouseup', handleMouseUp);
}
function handleCloseClick() {
zoomContainer.style.display = 'none';
}
zoomContainer.appendChild(zoomImage);
document.body.appendChild(zoomContainer);
zoomContainer.addEventListener('dblclick', handleCloseClick);
zoomContainer.addEventListener('wheel', handleWheel);
zoomImage.addEventListener('mousedown', handleMouseDown);
document.addEventListener('dblclick', handleDoubleClick);
function findAndProcessImageLinks() {
const imageExtensions = /\.(jpg|jpeg|png|gif|bmp)$/i;
const wrap = document.querySelector("#main-outlet")
if (wrap) {
const links = wrap.querySelectorAll('a[href]');
// console.log(links)
links.forEach(link => {
if (imageExtensions.test(link.href)) {
if (!link._block_) {
link.addEventListener('click', (event)=> {
event.stopPropagation();
event.preventDefault();
});
link._block_ = true;
}
}
});
}
}
function setupMutationObserver() {
const observer = new MutationObserver(mutationsList => {
for (const mutation of mutationsList) {
if (mutation.type === 'childList' || mutation.type === 'attributes' || mutation.type === 'subtree') {
findAndProcessImageLinks();
}
}
});
observer.observe(document.body, {
childList: true,
subtree: true,
attributes: true,
attributeFilter: ['href']
});
}
findAndProcessImageLinks();
setupMutationObserver();
})();
现在不是默认点击会在新标签页打开全尺寸图片吗?
有的不会,打开新页签是因为套了一个a标签。
怎么双击?没成功啊
双击图片,套了a标签的不行
反正我用 @hoothin 大佬的Picviewer CE+
Picviewer CE+ 脚本功能强大,有图标、快捷键
https://greasyfork.org/zh-CN/scripts/24204
Imagus 这个扩展也不错,鼠标指向自动显示大图
1 个赞