V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Get Google Chrome
Vimium · 在 Chrome 里使用 vim 快捷键
vacuitym
V2EX  ›  Chrome

chrome 插件调用下载时弹窗被遮住

  •  
  •   vacuitym · 2022-11-21 15:29:30 +08:00 · 1006 次点击
    这是一个创建于 744 天前的主题,其中的信息可能已经有所发展或是发生改变。

    正在开发一个插件,想增加一个导出配置的功能,调用 chrome 的下载接口,弹出的另存为对话框在 popup.html 后面。

    后面测试发现只有在 chrome 全屏的时候才会出现,非全屏模式弹窗正常出现:

    异常: https://i.stack.imgur.com/EAzHa.png

    正常: https://i.stack.imgur.com/BSO6M.png

    阅读了 chrome 的相关 api 文档也没有获得答案,在 stackoverflow 也发了帖子也还没获得回复: https://stackoverflow.com/questions/74515372/the-save-as-dialog-was-covered-up-by-popup-html-in-google-chrome-extension

    有大佬知道原因吗,感激不尽

    os:macOs 13.0.1 ( macbook pro 14 with Apple M1 Max )

    chrome version: 107.0.5304.110 ( release ) (arm64)

    function exportFile() {
    
        chrome.storage.sync.get(['ruleProfiles'], async function (result) {
            console.log('Value currently is ' + JSON.stringify(result));
            if (JSON.stringify(result) === '{}') {
                sourceJson = {};
            } else {
                sourceJson = result['ruleProfiles'];
            }
            console.log('ready to download');
            // var url = 'data:application/json;base64,' + btoa(JSON.stringify(sourceJson));
            var url = 'data:application/json;base64,' + btoa(JSON.stringify(sourceJson));
            chrome.downloads.download({
                url: url,
                saveAs: false,
                filename: 'vac-modify-header-profile.json',
                conflictAction: "overwrite"
            });
            console.log('download success 1');
        });
    
    }
    
    document.getElementById("exportBtn").addEventListener("click", exportFile);
    
    2 条回复    2022-11-21 18:15:03 +08:00
    sweetcola
        1
    sweetcola  
       2022-11-21 16:20:37 +08:00
    这种表现不一样的一般就是 bug 了,如果线程不阻塞的话在 download 后面加上
    ```JavaScript
    window.close();
    ```
    vacuitym
        2
    vacuitym  
    OP
       2022-11-21 18:15:03 +08:00
    @sweetcola 是要阻塞的,谢谢回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6030 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 02:09 · PVG 10:09 · LAX 18:09 · JFK 21:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.