2010-08-12 59 views
4

編輯:請閱讀問題,爲什麼我要作出判斷上這之前做到這一點,我想用一個Web瀏覽器作爲接口在本地發展,我知道它的一個安全漏洞,但如果有一種方式爲最終用戶禁用此安全性,因此它可以在本地使用我想知道,當然這是不可能的,在正常情況下,因爲這會產生安全問題是否有任何可以訪問機器命令行的Web瀏覽器插件? (供本地使用)

問題:我想製作一些應用程序它在本地運行,只是使用jquery作爲用戶界面,所以它必須至少可以訪問機器的命令行,以便它可以調用系統,我不想通過Web服務器來執行它,在這種情況下,因爲這只是過度複雜的權限等,我希望jQuery應用程序運行更像本地應用程序,以便它可以打開文件供用戶顯示他們等。

我想知道是否有人知道插件,如Firefox,允許這種情況發生,以便我可以在我的機器上安裝這個應用程序,使這樣的應用程序..謝謝任何信息

回答

0

我不知道您是否可以訪問命令行,但你可以閱讀本地文件系統。

這個功能做到這一點(在Firefox)

function readFile(arq) { 
     netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 
     var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); 
     file.initWithPath(arq); 

     // open an input stream from file 
     var istream = Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(Components.interfaces.nsIFileInputStream); 
     istream.init(file, 0x01, 0444, 0); 
     istream.QueryInterface(Components.interfaces.nsILineInputStream); 

     var line = {}, lines = [], hasmore; 
     do { 
     hasmore = istream.readLine(line); 
     lines.push(line.value); 
     } while(hasmore); 
     istream.close(); 
     return lines; 
    } 
+0

參考:http://www.mozilla.org/projects/security/components/signed -scripts.html – Topera 2010-08-12 02:47:44

2

一般情況下,瀏覽器竭盡全力使這不可能的,因爲他們提出了一個巨大的安全漏洞。 (例如,可以啓動一個網頁rm -rf /。)

+1

是的,我知道這一點,我不知道爲什麼我會被拒絕,當我清楚,我正在嘗試做到這一點爲本地使用,並且用戶將不得不故意安裝插件/禁用安全性來做到這一點 – Rick 2010-08-12 02:07:31

+1

我認爲問題是,如果你找到了方法,那將是一個瀏覽器錯誤,而且是一個嚴重的錯誤。 哦,我想你可以用C語言寫一些東西,然後調用它 - 我可以想到幾種方法 - 但它總的來說是一件壞事。 如果要使用Web技術界面構建應用程序,請給Appcelerator的Titanium Developer一看。 – 2010-08-12 02:13:54

+0

好吧,我明白你的意思,我只是想知道可能有一種方式讓用戶有意禁用功能,我不一定會考慮安全問題..我根本不關心實際使用瀏覽器,我只想使用jquery,javascript,HTML,CSS,所以如果有另一種方式來做到這一點,並通過其他應用程序在本地運行它,只要它支持Windows和Linux,這將是偉大的..我會研究你怎麼說加速器 – Rick 2010-08-12 02:15:56

0

在瀏覽器中,如果沒有網絡服務器,您可能會使用VBScript(當然只有在IE中)才能做你正在尋找的東西 - 所以你可以可能在VBScript中做「數據訪問」類型的東西,你的UI組件和JQuery中的東西 - 我認爲這將是一個混亂。我唯一能想到的其他事情就是要求你在客戶端機器上安裝一個簡單的http服務器......並且你可能會編寫一個ajax包裝器來與「本地」web服務器上的命令行進行交互......我知道這不完全是你要去的,但據我所知,我不認爲你的選擇。

+0

有趣..感謝您的信息,我不能使用這個我自己,因爲我不使用Windows,但它是很好的知道 – Rick 2010-08-12 02:34:13

0

這是我做了很久很久的事情。我曾經有一個網頁(本地html)作爲背景顯示在我的桌面上。我曾用它在我的電腦上啓動程序。我這樣做,是使用方法:

  • VB腳本
  • .bat文件
  • 我只是想,它只能與IE工程(IE檢查6/7)。當您將.bat或.vbs文件作爲文件調用時 - file:/// c:\或使用本地主機。它會給你一個運行該文件的選項。

    VBScript Example讓你的腳溼。

    0

    它已經超過10年,因爲我甚至看了這一點,但HTAs可能是你在找什麼。

    0

    請嘗試以下之一:

    在Windows上,可以使一個HTA,這是在IE網頁運行,但與Windows腳本宿主訪問級別(你可以做任何事情)。

    在Mac上,您可以使用Dashcode構建html + javascript應用程序。

    Elseware(以及在Mac和Windows上),您可以在Adobe Air中構建html + javascript應用程序。

    相關問題