2011-03-25 112 views
6
chrome.tabs.onUpdated.addListener(checkForValidUrl); 
function checkForValidUrl(tabId, changeInfo, tab) { 
    if (tab.url.indexOf('https') > -1) { 
     var tabURL = tab.url; 
     console.log("\n<TimeStamp>" + getTimestamp() + "</TimeStamp><Browser>Chrome</Browser><URL>" + tabURL + "</URL>\n"); 
     window.requestFileSystem(window.PERSISTENT, 5 * 1024 * 1024, initFs); 

     function initFs(fs) { 
      fs.root.getFile 
      ('log.txt', { create: true, exclusive: true }, function (fileEntry) { 
       fileEntry.isFile = true; 
       fileEntry.name = 'log.txt'; 
       fileEntry.fullPath = '/log.txt'; 
       fileEntry.createWriter(function (fileWriter) { 
        fileWriter.seek(fileWriter.length); 
        var bb = new BlobBuilder(); 
        bb.append("\n<TimeStamp>" + getTimestamp() + "</TimeStamp><Browser>Chrome</Browser><URL>" + tabURL + "</URL>\n"); 
        fileWriter.write(bb.getBlob('text/plain')); 
       }); 
      }); 
     } 
    } 
} 
+1

您是否正在編寫Chrome擴展?如果是這樣,請指定(在標籤和/或問題中)。 – Martijn 2011-03-25 07:56:15

+0

嘗試向requestFileSystem調用添加錯誤回調以顯示任何錯誤。 – HBP 2011-03-25 12:14:02

+0

我修改了我的問題,以前的問題已經解決了,並且我遇到了一個新問題。請引導我,提前謝謝。 – Derek 2011-03-26 07:37:05

回答

10

在此基礎上:

在寫這篇文章的時候, 谷歌瀏覽器9+擁有國內唯一的工作 執行文件系統的API。 由於文件/配額管理目前還沒有專門的瀏覽器用戶界面 ,因此無法在不運行的情況下使用API​​ Chrome與 - 無限制配額文件標誌(注意:如果您正在構建應用程序或者Chrome網上應用店的 擴展, unlimitedStorage清單文件 權限就足夠了)。在http://www.html5rocks.com/tutorials/file/filesystem/#toc-support

發現

我假設你使用的是Chrome,並且您還沒有設置--unlimited配額換文件標誌

+0

如果我要在清單文件中添加權限「unlimitedStorage」,它會提示我「清單不是有效的JSON,syntex錯誤。什麼問題? – Derek 2011-03-26 05:13:18

+0

清單文件必須是有效的JSON語法。 /code.google.com/chrome/extensions/manifest.html#permissions – HBP 2011-03-26 05:42:55

+0

我編輯了對我的問題所做的更改,之前的問題已得到解決,並且我遇到了一個新問題。請引導我,提前致謝。 – Derek 2011-03-26 07:38:12

1

剛剛使用localStorage怎麼辦?

+0

我已經看過關於將文件寫入本地系統的HTML5 fileSystem API的教程,我相信我遵循了每一步,但是我還沒有能夠在本地系統中看到我的日誌文件。有什麼建議? – Derek 2011-03-25 07:46:25

+0

我修改了我的問題,以前的問題已經解決了,並且我遇到了一個新問題。請引導我,提前謝謝。 – Derek 2011-03-26 07:37:47

+0

localStorage可能是最簡單的選擇。即使在指定''unlimitedStorage''權限後,唯一的缺點是限制爲5 MB。像這樣使用它: 'localStorage [「log」] =「Hello World!」'寫入,而 'log = localStorage [「log」]'讀取。 – 2012-07-30 21:11:58

7

這個文件系統API似乎並沒有真正寫真正的「文件」到您的硬盤。 它似乎將文件存儲在瀏覽器中的沙盒安全區域內。 你必須寫一個快速和骯髒的小文件管理器(或找到一個)來管理給定的Web應用程序的文件。您還可以嘗試訪問filesystem://<your URL here>/temporary/以查看您的應用創建的所有文件。

+0

一個變化:文件系統:http // <你的URL here> /臨時/ – 2013-02-18 21:47:45

+0

可以從瀏覽器外部訪問寫入的文件嗎?假設我寫了一個文本文件,我可以在外部文本編輯器中以某種方式打開它嗎? – ycomp 2016-05-20 23:56:06

相關問題