2012-02-28 20 views
5

यदि मेरे पास फ़ाइल सिस्टम पथ है तो क्या मैं एक्सप्लोरर (विंडोज़ पर) या फाइंडर (ओएस एक्स पर) में एक विंडो खोल सकता हूं, जिस पथ को पथ की ओर जाता है?किसी वेबपृष्ठ से खोजक/एक्सप्लोरर में कोई फ़ोल्डर खोलें?

क्रू-प्लेटफार्म और/या प्लगइन-कम वाले उत्तरों के लिए कुकी पॉइंट।

उत्तर

2

आपको ब्राउज़र से एक नई प्रक्रिया चलाने में सक्षम होना चाहिए। ऐसा करने के कुछ तरीके हैं। मैं ऐसा करने के लिए जेएनएलपी रास्ता दिखाऊंगा।

इस प्रकार एक 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 बनाएँ:

Manifest-Version: 1.0 
Main-Class: MainClass 

अपने JNLP जार साइन इन करें: एक प्रकट साथ

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 
     } 

    } 
} 

:

keytool -genkey -keystore testKeys -alias jdc 
jarsigner -keystore testKeys jnlpTest.jar jdc 

वेब सर्वर पर जार और जेएनएलपी फ़ाइल दोनों रखें। सुनिश्चित करें कि माइम प्रकार जेएनएलपी application/x-java-jnlp-file के रूप में कार्य किया जाता है। एक JNLP बनाने के लिए

संदर्भ: http://java.dzone.com/articles/java-web-start-jnlp-hello

अब जब कोई उपयोगकर्ता आपके jnlp लिंक पर क्लिक करता है कि वे जार डाउनलोड हो जाएगी और अगर इसे चलाने के लिए ठीक है कहा जा। इसे चलाने से एक्सप्लोरर विंडो खुल जाएगी। मुझे पता है कि यह सबसे अच्छा समाधान नहीं है, लेकिन किसी भी समाधान के लिए उपयोगकर्ताओं को उनकी मशीन पर कोड निष्पादित करने की अनुमति मांगने की आवश्यकता होगी।

+0

कुछ इस अस्पष्ट वास्तव में एक टिप्पणी, नहीं एक जवाब होना चाहिए। सिल्वरलाइट के मैक पोर्ट में COM शामिल होने पर भी मुझे बहुत आश्चर्य होगा। – millimoose

+0

मैंने इसे एक टिप्पणी में डालना शुरू कर दिया, लेकिन मैं बस "इस यूआरएल को आजमाएं" की तुलना में थोड़ा और जानकारी जोड़ना चाहता था। यहां एक प्रारंभिक बिंदु है यदि इससे मदद मिलती है, अगर मेरे उत्तर को अनदेखा नहीं किया जाता है। –

+0

@DMoses लिंक्ड आलेख शुरुआत में कहता है: "यह ध्यान दिया जाना चाहिए कि ये सुविधाएं केवल उन्नत विशेषाधिकारों में उपलब्ध हैं, ब्राउज़र में उपलब्ध हैं और ब्राउज़र में उपलब्ध नहीं हैं।" क्या आप इस सवाल से बिल्कुल प्रासंगिक हैं? –

2

node-webkit (NW.js) उन आप उपयोग कर सकते हैं ...

var gui = require("nw.gui"); 

document.querySelector("[data-location]").onclick = function() { 
    gui.Shell.showItemInFolder(__dirname + '/content/project/' + this.textContent); 
}; 
संबंधित मुद्दे