You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Edge扩展CSS覆盖失效:无法移除PDF预览的Save/SaveAs按钮

解决Edge扩展CSS无法隐藏PDF查看器Save/SaveAs按钮的问题

问题核心

你遇到的问题是:Edge加载网页或本地PDF时,扩展的content CSS无法覆盖PDF查看器的按钮样式,但手动在控制台添加相同CSS却能生效。这本质是Manifest V3下扩展对内部PDF页面的权限限制,以及content script注入时机/范围的问题。

具体修复方案

方案1:调整Manifest权限与Content Script配置

Manifest V3中,默认不允许content script访问浏览器内部页面(比如PDF查看器),需要补充权限并扩展匹配范围:

修改manifest.json:

{
    "name": "CSS Override",
    "version": "0.0.5",
    "manifest_version": 3,
    "description": "Override CSS on any website",
    "icons": {
        "16": "icons/favicon.png"
    },
    "action": {
        "default_icon": {
            "16": "icons/favicon.png"
        },
        "default_title": "CSS Override",
        "default_popup": "popup/popup.html"
    },
    "permissions": ["activeTab", "scripting"],
    // 新增:允许访问所有主机(包括内部页面)
    "host_permissions": ["<all_urls>"],
    "content_scripts": [
        {
            // 补充匹配PDF查看器的内部URL格式
            "matches": ["<all_urls>", "file:///*", "http://*/*", "https://*/*", "chrome://*/*", "chrome-extension://*/*"],
            "css": ["css/content.css"],
            "all_frames": true,
            // 新增:确保在页面所有资源加载前注入CSS
            "run_at": "document_start"
        }
    ]
}

方案2:改用Scripting API动态注入CSS(更可靠)

如果方案1无效,直接用scripting.executeScript在PDF页面主动注入CSS,绕过content script的限制:

  1. 在popup的JS文件(比如popup.js)中添加触发逻辑:
// 假设popup.html里有个id为inject-css的按钮
document.getElementById('inject-css').addEventListener('click', async () => {
    const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
    // 只在PDF页面注入
    if (tab.url?.includes('.pdf') || tab.url?.startsWith('chrome://pdf/')) {
        await chrome.scripting.insertCSS({
            target: { tabId: tab.id, allFrames: true },
            css: `button#save, button#saveAs { display: none !important; cursor: not-allowed; pointer-events: none; }`
        });
        alert('CSS已注入');
    }
});
  1. 确保manifest.json中的scripting权限已开启,且host_permissions包含<all_urls>。

额外验证点

  • 检查PDF查看器中按钮的实际选择器:有时Edge的PDF按钮id可能不是save/saveAs,右键按钮→检查元素,确认准确的选择器(比如实际是#save-button或带其他前缀的id)。
  • 修改配置后,在Edge扩展管理页面点击「重新加载」,确保新配置生效。

内容的提问来源于stack exchange,提问作者gmmethekeys

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 17:02:33