2010-11-18 159 views
4

我將我的桌面應用程序分佈在閃存驅動器上,供數以千計的Windows,Mac和Linux用戶使用。我有一個HTML起始頁面,其中包含文檔鏈接,安裝指南,發行說明等等,這些都在閃存驅動器上。我希望用戶直接從瀏覽器進行安裝,但這正是防病毒程序試圖阻止的(正確的)。無需啓動安裝程序,只需找到安裝程序並讓用戶自行完成最後一步即可。從網絡瀏覽器打開文件系統文件夾/目錄

是否有可能導致主機上的文件系統管理器(資源管理器,Finder等)打開包含該文件的文件夾並將其突出顯示?我認爲這需要使用JavaScript,對於Windows,Mac和Linux,它可能會有所不同。另外,在大多數瀏覽器(IE,FF,Chrome,Safari,Opera)中都可以工作。

這是否與解決費馬大定理相似的難度等級?

謝謝

回答

2

只要該頁面是從本地文件系統加載的,此JS代碼應該適用於Windows上的IE和Firefox。你需要在Linux/OSX上進行測試。我不知道你將如何接近鉻/狩獵/歌劇。

function execute(command, commandParam) 
{ 

    if (isIE()) { 
    try { 
     activexShell = new ActiveXObject("Shell.Application"); 
     activexShell.ShellExecute(command, commandParam, "", "open", "1"); 
     exit(); 
    } catch (e) { 
     alert("exception " + e.name + ': ' + e.message); 
    } 
    } 
    else { 
    try { 
     netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 
     var FileFactory = new Components.Constructor("@mozilla.org/file/local;1","nsILocalFile","initWithPath");  
     var program = new FileFactory(command); 
     var process = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces. nsIProcess);   
     process.init(program); 
     process.run(false, commandArray, commandParam.split(" ").length - 1, {}); 
     exit(); 
    } catch (e) { 
     alert("exception " + e.name + ': ' + e.message); 
    } 
    } 
} 

當然,您可能需要簽署.js文件才能使其正常工作。欲瞭解更多信息,請看這裏:http://www.mozilla.org/projects/security/components/signed-scripts.html

1

沒有。瀏覽器(或大多數*)阻止這種行爲。他們在您的實際文件系統和Web爲您提供的內容之間存在隔離牆。只有HTML輸入控件可以打破這一點,而且它們也有相當多的保護措施。

* - 您可以使用IE ActiveX控件,但這是僅限IE瀏覽器。

相關問題