0

可能重複:
Read file packaged with Chrome extension in content script讀取文本文件到數組

我想開發一個小的擴展,需要做到以下幾點:

  1. 閱讀文本文件(包含擴展名)
  2. 將每行保存爲字符串
  3. 檢查頁面的URL以查看它是否與其兼容的頁面之一。
  4. 閱讀該頁面以查找存在於該陣列中的單詞
  5. 將這些單詞鏈接到谷歌搜索。

所以,步驟3到5,我有一些想法如何做,但1和2讓我迷路。 我想通過chrome.extension.getURL("files/mytext.txt");獲取文件,但這隻給我的文件,不讀它。

謝謝! 編輯:格式

+0

不確定,你有看看這個 - > http://stackoverflow.com/questions/8550383/read-file-packaged-with-chrome-extension-in-content-script? – verisimilitude 2012-08-14 16:58:01

回答

0

`我不確定這是最好的方式,我對擴展編程知之甚少,但是如果您有一個XMLHttpRequst應該工作的URL。

var fileURL = chrome.extension.getURL("files/mytext.txt"); 
var xmlreq = new XMLHttpRequest() 
xmlreq.open("GET", fileURL, false) //false makes it syncronous, we'll just wait till it's done 
xmlreq.send() 
//The file should be in xmlreq.responseText array 
lineArray = xmlreq.responseText.split("\n") //standard splitting by linebreaks 

這裏可能有一些錯誤檢查,但應該是基本的協議。你也可以做同步,但如果你只是加載一個相當的文本文件,除非它很大,異步不應該成爲一個問題。

編輯:第一次忘記xmlreq.send()

+1

你的意思是「錯誤使它**同步**」。不過,請注意,對同步XHR的支持將逐步從Chrome擴展中退出(或者至少應用程序 - 「應用程序」和「擴展程序」在過去幾乎一樣,但現在Google正在對打包的應用程序,所以我們會看到。) – apsillers 2012-08-14 17:11:20

+0

謝謝,我會解決這個問題。我總是讓這些倒退。 – Retsam 2012-08-14 17:11:44