2013-10-07 44 views
1

我想在我的應用程序上創建一個文件處理程序,我沒有Chrome操作系統,因此嘗試我的代碼的唯一方法是使用參數中的文件從命令行啓動應用程序。我的問題是:如何?如何在Windows上使用參數打開Chrome打包的應用程序?

我試過 chrome --appid=[TheIdOfMyApp] --[Path of the file to open]但它只是打開應用程序,從我的函數入口是相同的,當我打開Mado沒有參數。

要檢查,如果我有一個條目我這樣做:

chrome.app.runtime.onLaunched.addListener(function(items) { 
    console.log(items); 
    // The code to open the app's window... 
}); 

它總是返回我Object {isKioskSession: false}

[更新]

我的清單看起來像(這些只是文件處理程序和權限的部分):

"file_handlers": { 
    "text": { 
     "types": ["text/md"], 
     "title": "MyApp" 
    } 
}, 
"permissions": [ 
    {"fileSystem": ["write", "retainEntries"]}, 
    {"mediaGalleries": ["read", "allAutoDetected"]}, 
    "storage", 
    "webview" 
] 

[的更新結束]

有誰知道如何檢查一個應用程序的文件處理程序是否在Windows上工作?我的代碼是否正確?

感謝您的幫助。

+0

這應該工作。你能提供你的應用程序的清單嗎? –

+0

我已經在帖子中添加了用於文件處理程序的清單部分。 –

+0

我的猜測是text/md MIME類型不被解釋爲corerctly。有兩件事要嘗試:(1)如果你改變你的處理器來處理所有類型會發生什麼? (2)在啓動應用程序後,控制檯上出現任何內容。 –

回答

0

打包應用程序的命令行參數似乎尚未實現。

開放issue 165573「允許啓動參數傳遞到平臺應用程序」狀態「我們需要弄清楚......是否/如何通過命令行傳遞這些參數」。

+1

對於隨機參數(例如--show-foo),這是正確的,但如果您的應用程序已正確設置爲file_handler,則應正確傳遞文件。例如。文本應用程序應該能夠從命令行啓動它可以處理的文件。 –

3

感謝Ben Wells,現在正在工作。代碼(如果有人有同樣的問題一天):

manifest.json中:

"file_handlers": { 
    "text": { 
     "extensions": [ 
      "md" 
     ], 
     "title": "YourApp" 
    } 
}, 

以及如何在命令行(除去(x86)如果您使用的是32位Windows ):

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --app-id=YourAppId "C:\Path\To\document.md" 

如果您想了解您的應用具有檢測參數,添加上述(誰與chrome.app.runtime.onLaunched開始塊)到你的背景的JavaScript代碼。

+0

謝謝,這對我有很大的幫助。謹慎的話,需要一個完全合格的路徑(至少在OSX中,這是我正在開發的地方)。像這樣的東西不適合我〜〜/ Desktop/file.json。我必須做'/ Users/me/Desktop/file.json' – pixelfreak

相關問題