本文目錄一覽:
- 1、通過chrome插件注入的JS,利用window.onload事件觸發刪除某元素的命令,有什麼辦法能在網頁渲染出來前?
- 2、Chrome瀏覽器,打開網頁都被添加JS語言
- 3、如何在 Chrome 插件中訪問任意網頁中的 JavaScript 變數
通過chrome插件注入的JS,利用window.onload事件觸發刪除某元素的命令,有什麼辦法能在網頁渲染出來前?
可以,
讓元素先隱藏,等onload之後,刪除,然後讓元素顯示
請採納
Chrome瀏覽器,打開網頁都被添加JS語言
這個是站長統計的一個工具,主要是統計訪問量等,沒有危害,站長用的,和普通訪客沒什麼關係。
如何在 Chrome 插件中訪問任意網頁中的 JavaScript 變數
有這樣需求,此 Chrome 插件需要監聽任意網頁中某個變數的變化,或是訪問其中的值。但默認注入的 content.js 和原網頁 Javascript 腳本並不運行在一個相同的環境中,無法相互訪問。
搜索和自己嘗試了如下的解決方法,不知是否還有更巧妙的方法?
content.js 沒有辦法訪問到原網頁,只要向 Dom 中再注入一個 inject.js 腳本就進入了原網頁的作用域。如果能讓 inject.js 與 content.js 或是直接與 background.js 通信即可。
接下來的通信問題的解決方法:
– 可以通過外部伺服器中轉,不過太麻煩了。
– inject.js 可以通過`chrome.runtime.sendMessage`直接向插件發起連接,但插件必須聲明`externally_connectable`,並且安全起見不能使用*://*/*匹配所有域名。
– inject.js 可以注入 Dom 事件,由 content.js 捕獲,可行。
– inject.js 可以寫入 localStorage 或者其他共享的變數,由 content.js 輪詢,不過如果變數發生了多次修改,每次的修改事件就很難及時發出。
– 可由 content.js 創建一個 SharedWorker 的函數,並將其轉換為 Blob ,再使用`URL.createObjectURL`創建為共享鏈接存入 localStorage , inject.js 讀取後此鏈接後,兩個腳本同時連上同一個 SharedWorker ,由 worker 轉發消息,可以很好雙向通信。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/283543.html