2011-04-12 147 views
2

我需要一個Javascript數據庫存儲系統,其狀態可以保存在本地磁盤上。使用Javascript讀取/寫入文件 - IE6

這裏談到的扳手在作品: -

  • 它只需要支持Internet Explorer,但最低版本必須是IE6
  • 文件需要後來寫入,使他們能夠讀取試(在關閉和重新打開瀏覽器時)
  • 因爲HTML頁面將分佈在USB上,所以不能有Web服務器(除非它非常容易分發並且不需要安裝)。

有誰知道任何解決方案,可能有幫助嗎?

+2

你有沒有看過TiddlyWiki? – Pointy 2011-04-12 16:14:47

+0

http://ie6countdown.com/ – epascarello 2011-04-12 17:07:53

+0

謝謝Pointy,看起來很有趣。Epascarello,可悲的是它需要依靠IE6向前邁進的軟件的巨大商業實體的財富,MS正在壓力堆積雖然是好消息:) – 2011-04-12 19:24:54

回答

2

玩得開心userData。顯然,它在你的IE6/7需要

然後localStorage爲IE8/9

什麼,或者你可以用它做特徵檢測你較重store.js,顯然工作在IE6 +。

它應該工作在IE9,但沒有garantuees。我會推薦store.js,因爲它更容易維護,並且可以直接使用。你也可以用這種方式支持其他瀏覽器。

+0

+1完美答案 – daniellmb 2011-04-12 16:24:19

+0

請注意我對「需要寫入的文件,以便以後可以再次閱讀(關閉和重新打開瀏覽器時)」的規定。 userData/localStorage是否持續開啓和關閉beowser?我的印象不是,但也許我錯了。 – 2011-04-12 19:03:47

+0

@JulianYoung本地存儲是持久的。 SessionStorage不是。 userData是好運;) – Raynos 2011-04-12 19:34:45

1

我不知道它是否支持IE6,但JScript似乎通過FileSystemObject有一定程度的支持。

var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var a = fso.CreateTextFile("c:\\testfile.txt", true); 
a.WriteLine("This is a test."); 
a.Close(); 

根據Write binary data with FileSystemObject write()ADODB.Stream似乎是一種替代方法。

+0

FileSystemObject將從IE6工作,但它需要提升權限通常不授予到USB驅動器上的HTML內容。我嘗試了這種方法,結果證明是一個支持問題,因爲我的用戶都無法讓它「只是工作」......他們都必須使用他們的系統安全設置。 – 2011-04-12 16:17:33

+0

@Mark Ever:爲避免這些問題,請使用.HTA(文件/應用程序)而不是.HTML。 – 2011-04-12 16:26:01

+0

是的 - 我很抱歉 - 將編輯。 – 2011-04-12 16:30:36

1

嘗試閱讀這篇文章:Read/write to file using jQuery

希望這有助於。

+0

感謝您的鏈接,雖然它不是很有幫助,但我有相當緊張的要求,它確實有一個有趣的鏈接http://jquery.tiddlywiki.org/twFile.html哪我會看着。 – 2011-04-12 19:18:34

1

嚴格的本地IE工作使用HTA Applications。然後,您可以訪問本地資源(文本文件,ADO數據庫),而不存在安全問題。

+0

良好的通話,我會進一步調查。謝謝。 – 2011-04-12 19:15:19

1

我建議您不要嘗試使用JavaScript進行讀取/寫入,而是要在USB驅動器上嵌入一個小型Web服務器。我曾爲一個應用程序做過一次,並且運行良好。我使用了Cassini網絡服務器。

我在Visual Studio中創建了兩個項目。首先,我創建了一個ASP.Net網站從SQLite數據庫讀取/寫入。該網站顯示了我的所有內容,並且與其他ASP.Net網站一樣構建。其次,我創建了一個託管Cassini Web服務器的Windows Forms應用程序,並向用戶呈現包含單個Web瀏覽器控件的表單。這使得用戶體驗非常簡單...他們只需從USB驅動器的根目錄中單擊MYAPP.EXE,然後打開表單,啓動Web服務器並將瀏覽器控件導航到網站的開始頁面。

+0

非常有趣,將進一步研究這一點,謝謝馬克。 – 2011-04-12 19:13:15