提交 032b54b7 authored 作者: DJCHAI's avatar DJCHAI

图片视频下载插件

上级
File added
# 依赖包
node_modules/
# 编辑器配置
.idea/
.vscode/
.trae/
.git
# 打包产物
dist/
build/
out/
\ No newline at end of file
File added
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDCcMfogXdiLDnm
KnhQhhRxEtyHAiOentzb1LtiiDVlvmSWrjTTrzIVIARH2phumCzqjKSa4D8V9gNt
fZ3DwcnoO2OnH30Da5SSKmYgsGnNTSmV4O1LHCK2Ygj8httwR6/bKt84twjpU2BY
UbO67soTUxNPfLCuDOLlAQKTqaYMmDjVauCYvYlcb4JToiSyRG1T1SaDIqErWN6l
WCmZ/3zO0W6uWUr4lve27ZVtwHJJ5/qnqvJpV0f/r/qgdghuN3l8qBY6fw/NUFAZ
TCIJ9pCFZfDL1f/z6pxFoofVMvfp2Rm6vFDcQe+FU2omzaNMb5BFVbQYh3HO3xCK
TBNn2j8JAgMBAAECggEAB+9fayd1xP+szQ4MkFhecccNJqSBf2CjPwSWxpnsLZwo
Nvws8KVzUpMhSuzlSwsiYcqOUPnn59hSZ2fIq34yDxcLCrKWu5q1SsSYm8rTRd3O
qFy667V+MamnzVAew7Ll6XiduORDBKGipTa6sjKP9DCwBq6zd6Y+kA2winCSPmyE
EoofJj472kPE0ElfNWgEi3VXt7LblhzvBASTKVtMBhn3YNE28tOeSDIaAhiNdoaJ
MNy8G1iYSvJVKvBz7Xh0q1lraAgDAC/cMpQt6ok1X2lVj33zP4MTCtnsVeKd5evk
nNNVNiqjcnaGbNaVVNhqxdQiiaznFlzSvXG2TItJgQKBgQD6eu+s3u2p0IltAFq6
n0dKvMBDddyWZ+9taOf3+VxtFsajDtyMmE3nyGgFRRg/0FGDSoAqGCKibDnNz1lV
gv0fRjgRGgp86i0DdEGuhuDdLzGC7aBH1lKQaOUs9c9AQf5pDol+pxfQG62wcAJS
ZYBhXWkFAuCdP2qddYzlQUTciQKBgQDGubOQwpPMJd1LMmf+neaeSYNykWySqSre
6bCfU3wamsHxyoLlXnbgYtBAQHgHnjYyofeSm6mTflHsUz+LdnXAZckERBsfc/zL
0q6OGdHVbrp/+7KeivGtKkEKR+/2yyZrUgrAe+wG9IYfG5Rq+NFQ6v0FP5LXEk0S
bMBip7KugQKBgQC6PZhiCCvcfPMBuia75lxi5K9sOYF3z/YFeuAn0CB5+FpfuVgh
rckXUzqM2JAsOp+xKD7dja6K6D+emNLKsye0Dkj35k3wDUrE67c+pokhzMpamIb5
gxFG0Me+Q1MDa05YHPf81Q7urPXbX51KWLA5NPQ2RqpuIU4Ln/DQMVSbSQKBgQC2
laxsFrqg2TFHg9qU0BMx361MOF0fKxrekKvc12GxN/t14nD9uRtT8rYQMquVpEF7
p+DF7QuTHn66uYoq4v4xddOJfeHFtlXQF5SVrxdiGEh2ipWEoXiHd8kmXw4VHHYC
KPEEBVfI1CXeswJcfpwi0qUCi3So8oGpqg3hFt9PAQKBgQCQIFlEHytyAQnWffeb
bJmhQ5oBlyIa6YtRtX7RyO3MMPnNyLA1Y0jaMSJDHSx/hSZ0ct04P7Ljk102VW0s
NmZZPjqC2QcnXX3Syt8/+6sVcoXVRRnNW6ivPfghD8YGILS1ptMK9MXjPPBRDqEi
e0/okTGL7tfDFOhW0Y7JfWoTdA==
-----END PRIVATE KEY-----
{
"manifest_version": 3,
"name": "Media Info & Downloader",
"version": "1.0.0",
"description": "显示图片和视频的相关信息,并提供下载功能",
"permissions": [
"downloads",
"storage"
],
"action": {
"default_icon": {
"16": "icons/icon16.png",
"48": "icons/icon48.png",
"128": "icons/icon128.png"
},
"default_title": "Media Info & Downloader"
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["./content.js"],
"css": ["./content.css"]
}
],
"background": {
"service_worker": "./background.js"
},
"icons": {
"16": "icons/icon16.png",
"48": "icons/icon48.png",
"128": "icons/icon128.png"
},
"action": {
"default_icon": {
"16": "icons/icon16.png",
"48": "icons/icon48.png",
"128": "icons/icon128.png"
},
"default_title": "Media Info & Downloader"
},
"browser_specific_settings": {
"gecko": {
"id": "media-info-downloader@example.com"
}
}
}
\ No newline at end of file
差异被折叠。
{
"name": "video_info",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "vite",
"build": "vite build && cp src/content.css dist/ && cp manifest.json dist/ && cp -r icons dist/ && cp -r src/index.html dist/"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"vite": "^3.2.4"
}
}
// 存储默认设置
const defaultSettings = {
modifierKeys: ['altKey', 'metaKey'] // 默认支持Alt和Command键
};
// 初始化设置
chrome.runtime.onInstalled.addListener(() => {
chrome.storage.sync.set(defaultSettings, () => {
console.log('初始化默认设置:', defaultSettings);
});
});
// 监听下载请求
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.action === 'download') {
const { url, filename } = message;
console.log('下载请求:', message);
chrome.downloads.download({
url: url,
filename: filename,
saveAs: false
}, (downloadId) => {
if (chrome.runtime.lastError) {
console.error('下载失败:', chrome.runtime.lastError);
sendResponse({ success: false, error: chrome.runtime.lastError.message });
} else {
console.log('下载开始,ID:', downloadId);
sendResponse({ success: true, downloadId: downloadId });
}
});
return true; // 表示异步响应
} else if (message.action === 'getSettings') {
// 获取设置
chrome.storage.sync.get('modifierKeys', (data) => {
sendResponse({
modifierKeys: data.modifierKeys || defaultSettings.modifierKeys
});
});
return true;
}
});
// 监听插件图标点击事件
chrome.action.onClicked.addListener((tab) => {
// 切换修饰键设置
chrome.storage.sync.get('modifierKeys', (data) => {
const currentKeys = data.modifierKeys || defaultSettings.modifierKeys;
let newKeys;
// 循环切换按键设置
if (JSON.stringify(currentKeys) === JSON.stringify(['altKey', 'metaKey'])) {
newKeys = ['ctrlKey', 'metaKey']; // Alt+Command → Ctrl+Command
} else if (JSON.stringify(currentKeys) === JSON.stringify(['ctrlKey', 'metaKey'])) {
newKeys = ['shiftKey']; // Ctrl+Command → Shift
} else {
newKeys = ['altKey', 'metaKey']; // 其他 → Alt+Command
}
chrome.storage.sync.set({ modifierKeys: newKeys }, () => {
console.log('切换按键设置:', newKeys);
// 向当前标签页发送设置变更通知
chrome.tabs.sendMessage(tab.id, {
action: 'settingsChanged',
modifierKeys: newKeys
});
// 显示通知
const keyNames = {
'altKey': 'Alt',
'metaKey': 'Command',
'ctrlKey': 'Ctrl',
'shiftKey': 'Shift'
};
const keyText = newKeys.map(key => keyNames[key]).join('+');
chrome.notifications.create({
type: 'basic',
iconUrl: 'icons/icon48.png',
title: 'Media Info & Downloader',
message: `已切换按键设置: ${keyText}`
});
});
});
});
\ No newline at end of file
#media-info-panel {
position: fixed;
background: rgba(255, 255, 255, 0.95);
border: 1px solid #ddd;
border-radius: 4px;
padding: 10px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
font-size: 12px;
color: #333;
z-index: 999999;
display: none;
opacity: 0;
transition: opacity 0.3s ease;
max-width: 250px;
font-family: Arial, sans-serif;
}
#download-btn {
margin-top: 8px;
padding: 4px 8px;
background: #4CAF50;
color: white;
border: none;
border-radius: 3px;
cursor: pointer;
font-size: 11px;
}
#download-btn:hover {
background: #45a049;
}
\ No newline at end of file
差异被折叠。
import { defineConfig } from 'vite'
export default defineConfig({
build: {
outDir: 'dist',
emptyOutDir: true,
rollupOptions: {
input: {
content: 'src/content.js',
background: 'src/background.js'
},
output: {
entryFileNames: '[name].js',
chunkFileNames: 'chunks/[name].js',
assetFileNames: 'assets/[name].[ext]'
}
}
}
})
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论