2011-05-18 21 views
1

我無法保存到我的機器上的xml文件。 我注意到,節點值在xml文件中發生了變化,但不是永久性的。用XMLDOM對象保存我的機器上的XML文件save()

P.S:這僅僅是用JavaScript

這是給我一個錯誤一個簡單的HTML文件「權限被拒絕」

function viewBookDetails() { 
var xmlDoc = xmlLoader("cart.xml"); 

//var x = xmlDoc.getElementsByTagName("dogHouse")[0]; 
var x = xmlDoc.documentElement; 

var newel = xmlDoc.createElement("essy"); 
x.appendChild(newel); 

alert(x.xml); 
xmlDoc.save("cart.xml"); 
} 

是無法保存在我的機器上的XML文件?

謝謝

回答

1

一般情況下,瀏覽器的JavaScript沒有I/O API,並且不能讀取或寫入到客戶端的文件系統,因爲這可能是一個安全漏洞。我之前沒有看到或使用過save()方法,但看起來好像是an IE specific extension to the XML DOM。如果您必須使用它,this thread might provide the solution,即在OP那裏工作了答案建議:

我還沒有校對您的代碼,但在這裏,你可能想嘗試的東西。我在黑暗中拍攝了一個鏡頭,因爲您正在使用IE並從錯誤的聲音中看到您在Windows操作系統上使用此鏡頭。只需帶上您的html文件,並將其重命名爲whatever.hta,然後就可以寫入xml文件並保存。

此外,documentation for the method說,對當參數是一個字符串以下(在你的代碼片段):

字符串
指定的文件名。這必須是文件名而不是URL。如有必要,該文件將被創建,並且內容將被完全替換爲已保存文檔的內容。此模式不適用於安全客戶端,如Microsoft Internet Explorer。


從論壇帖子(下面的鏈接),涉及同樣的問題,我搜集了以下內容:

  • 這是一個IE瀏覽器特定的擴展,因此將只能在IE
  • 工作
  • 有明顯的安全限制,所以你不應該能夠做到這一點'開箱'
  • 一種解決方法,經常出現的是將文件擴展名重命名爲.hta(超文本應用程序而不是.html
  • 薦)我不知道,但也可能有一些解決方法,通過改變權限的安全區域應用程序運行在

參考文獻:

+0

我試過.hta擴展名,它工作但不是我希望它工作的方式。 .hta縮小了我正在開發的項目的目的。你非常樂意幫忙 – Govnah 2011-05-18 18:49:00

相關問題