如果我有文件系統路徑,我可以在資源管理器(在Windows)或Finder(在OS X)上打開一個窗口,顯示路徑導向的文件夾?從網頁在finder/explorer中打開一個文件夾?
Cookie是針對跨平臺和/或無插件的答案的。
如果我有文件系統路徑,我可以在資源管理器(在Windows)或Finder(在OS X)上打開一個窗口,顯示路徑導向的文件夾?從網頁在finder/explorer中打開一個文件夾?
Cookie是針對跨平臺和/或無插件的答案的。
您需要能夠從瀏覽器運行新的進程。有幾種方法可以做到這一點。我將展示JNLP的方式來做到這一點。
創建一個JNLP文件如下:
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://example/" href="jnlpTest.jnlp">
<information>
<title>Some Title</title>
<vendor>Some Vendor</vendor>
<homepage href="http://example/" />
<description>Some Description</description>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+" />
<jar href="jnlpTest.jar" />
</resources>
<application-desc main-class="MainClass" />
</jnlp>
從下面創建一個jnlpTest.jar:
public class MainClass {
public static void main(String args[]) {
Runtime rt = Runtime.getRuntime();
try {
//TODO - different exec for Mac
rt.exec("explorer.exe");
} catch (IOException e) {
//exception
}
}
}
:與清單:
Manifest-Version: 1.0
Main-Class: MainClass
登錄您的JNLP罐子:
keytool -genkey -keystore testKeys -alias jdc
jarsigner -keystore testKeys jnlpTest.jar jdc
將jar和jnlp文件放在Web服務器上。確保MIME類型JNLP的服務爲application/x-java-jnlp-file
。
參考用於製造JNLP:現在http://java.dzone.com/articles/java-web-start-jnlp-hello
當用戶點擊您的JNLP鏈接就會下載JAR和詢問是否它是確定運行。運行它將導致瀏覽器窗口打開。我知道這不是最好的解決方案,但任何解決方案都需要詢問用戶在他們的機器上執行代碼的權限。
對於node-webkit(NW.js),可以使用用戶...
var gui = require("nw.gui");
document.querySelector("[data-location]").onclick = function() {
gui.Shell.showItemInFolder(__dirname + '/content/project/' + this.textContent);
};
這東西模糊真的應該是一個評論,不是答案。如果Silverlight的Mac端口包含COM,我也會非常驚訝。 – millimoose 2012-02-28 16:16:10
我開始在評論中提到這一點,但我確實想要添加更多信息,而不僅僅是「嘗試此網址」。這是一個起點,如果有幫助的話,如果不是不理我的答案。 – 2012-02-28 16:18:45
@DMoses鏈接的文章在開頭說:「應該指出的是,這些功能只能在提升的權限外瀏覽器模式下使用,並且不能在瀏覽器中使用。」你是否完全與這個問題有關? – 2012-02-28 16:19:15