2016-06-08 71 views
0

我設計了一個chrome擴展來設置頁面上的文本顏色,但它只是可以完成一些內容。當我拉下頁面時,它會加載新文本。我希望這個新文本的顏色可以像之前的文本一樣設置。我如何設置代碼?在mainfest.json中,我嘗試設置run_at,但它不起作用。 第二個問題是我設置了一些文字使用style.color,但是在我無法設置文字的顏色?我如何設置這些?非常感謝!當我拉下頁面時,如何在頁面加載新文本的情況下設置文本的顏色?

+0

改變顏色vía注入CSS,如果可能的話,或使用[MutationObserver](https://developer.mozilla.org/en/docs/Web/API/MutationObserver) –

+0

@IvánNokonoko即使我可以設置顏色該頁面一旦向下滾動頁面,就會在新內容之前刷新新內容,例如新聞列表,每次向下滾動頁面時,都會顯示新的內容。也許我應該在判斷刷新的時刻比我使用函數來重新設置當前頁面的顏色。但是我不知道如何判斷? – yovino

+0

出現的新內容有我以前設置頁面顏色的原始顏色。 – yovino

回答

0

一種可能的選擇是通過programmatic injection

,如文檔中提到:

將代碼插入網頁時,您的JavaScript或CSS代碼不應該被注入的模式匹配每一個單頁編程是非常有用的。

插入代碼到一個頁面時,請注意以下幾點:

  • 您的擴展必須爲頁面跨域權限。
  • 它也必須能夠使用chrome.tabs模塊。

    您可以使用清單文件的權限字段獲得兩種權限。

  • 設置好權限後,可以通過調用tabs.executeScript將JavaScript注入頁面。
  • 要注入CSS,請使用tabs.insertCSS

本文的示例可以在文檔中找到。除此之外,這個類似的SO後 - Chrome Extension to change text style of specific website也可能有所幫助。

+0

即使我可以在頁面上設置顏色,一旦向下滾動頁面,它會在新內容之前刷新新內容,就像新聞列表一樣,每次向下滾動頁面時,都會顯示新的內容。也許我應該在判斷刷新的時刻比我使用函數來重新設置當前頁面的顏色。但是我不知道如何判斷? – yovino

相關問題