qq_笑_17
2021-11-18 16:15:17
我注意到 1password chrome 擴展瀏覽器操作彈出窗口是可拖動的。我怎樣才能讓我自己的 chrome 擴展做同樣的事情?我似乎在 chrome 擴展文檔中找不到任何內(nèi)容。我在文檔中也找不到 1password chrome 擴展彈出窗口的其他一些功能。當(dāng) 1password 彈出窗口出現(xiàn)時,彈出窗口頂部會出現(xiàn)一個小三角形,出現(xiàn)在我的光標(biāo)所在的位置。這是怎么發(fā)生的?據(jù)我所知,與彈出窗口關(guān)聯(lián)的 html 文檔顯示為沒有三角形的矩形。我無法右鍵單擊 1password 彈出窗口的主體來檢查 javascript。這可能是因為它們覆蓋了默認(rèn)的 contextMenu 行為?
1 回答

一只萌萌小番薯
TA貢獻(xiàn)1795條經(jīng)驗 獲得超7個贊
標(biāo)準(zhǔn)彈出窗口不能拖動,也不能在其邊框外添加任何內(nèi)容。它是通過manifest.json 中的 browser_action或page_action聲明的彈出頁面。
解決方法是:
使用chrome.windows.create打開一個單獨的窗口,
將type
參數(shù)指定為'popup'
使用內(nèi)容腳本在網(wǎng)頁內(nèi)創(chuàng)建 DOM 元素,
另請參閱如何在 Google Chrome 擴展程序中真正隔離樣式表?
該元素可以是可拖動的。
要檢查阻止上下文菜單的頁面,您可以從瀏覽器菜單打開 devtools,然后打開“更多工具”,或首先聚焦地址欄,然后按熱鍵打開 devtools(CtrlShifti或F12在 Windows 中)或從內(nèi)部 UI 頁面chrome://inspect/#pages
。
PS 從技術(shù)上講,您可以編寫外部實用程序并通過nativeMessaging運行它,因此它將使用低級操作系統(tǒng) API 來移動標(biāo)準(zhǔn)彈出窗口,但這非常脆弱。
添加回答
舉報
0/150
提交
取消