第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在瀏覽器擴(kuò)展中加載頁面之前執(zhí)行 js 文件?

如何在瀏覽器擴(kuò)展中加載頁面之前執(zhí)行 js 文件?

嚕嚕噠 2022-10-13 17:15:42
這是我的配置:  "content_scripts": [    {      "matches": ["https://www.baidu.com/"],      "js": ["./baidu/baidu.js"]    }  ]這是我的baidu.js  // #region delete useless DOM  const deleteIdList = [    '#s_top_wrap',    '#bottom_layer',    '#lm-new',    '#s-top-left',    '#u1',    '#s-hotsearch-wrapper',    '#s_side_wrapper'  ];  deleteIdList.forEach(v => {    const element = document.querySelector(v);    element.style.display = 'none';    // element.parentNode.removeChild(element);  });我想要的很簡單,我只希望當(dāng)我訪問時baidu.com,無用的 dom 可以被刪除(或隱藏)。我的問題是我的配置有效,但無用的 dom 會在開始時閃爍。然后那些消失了。我希望當(dāng)我看到網(wǎng)絡(luò)時,一切都好。我試圖將屬性指定run_at為document_start. 然后我的 js 文件不起作用。我怎樣才能做到?(在火狐瀏覽器中測試)
查看完整描述

1 回答

?
慕哥6287543

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個贊

"run_at": "document_start"在內(nèi)容腳本聲明中是絕對必要的。
內(nèi)容腳本將在頁面為空時運(yùn)行,因此我們還需要以下內(nèi)容之一:

  • 使用MutationObserveron觀察正在構(gòu)建的頁面document,例如,檢查添加的節(jié)點(diǎn)并隱藏與 id 列表匹配的節(jié)點(diǎn)。

  • 或者構(gòu)造一個style帶有選擇器的元素來隱藏。
    在性能方面,它的速度要快幾個數(shù)量級。也更簡單。

hideSelectors([

  '#s_top_wrap',

  '#bottom_layer',

  '#lm-new',

  '#s-top-left',

  '#u1',

  '#s-hotsearch-wrapper',

  '#s_side_wrapper',

]);


function hideSelectors(sels) {

  const el = document.createElement('style');

  el.textContent = sels.join(',') + '{ display: none !important }';

  // there's no <head> at this point so we're adding to <html>

  // which is allowed in DOM despite violating the HTML specification

  document.documentElement.appendChild(el);

}


查看完整回答
反對 回復(fù) 2022-10-13
  • 1 回答
  • 0 關(guān)注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號