2014-02-26 51 views
0

我正在爲Windows 8.1開發一個名爲myTrip的應用程序,並且正在爲應用程序實現我的自定義方案URI。我想要這個URI:mytrip:place:/ m/0942y1來打開我的應用程序並導航到具有該ID的位置。我已經完成了邏輯,如果我從Windows + r運行它,它工作正常。我想在Facebook頁面中分發這個uris,當用戶點擊它時,應用程序將打開並顯示該地點。這或多或少同樣的事情,你的應用程序的Windows應用商店Web頁上:Windows商店應用程序與Chrome中的架構URI

http://apps.microsoft.com/windows/en-us/app/mytrip/ae689d16-f349-4596-8bc7-e0eeab87ec24

這在IE和Chrome中,打開商店應用模式是這樣的:

毫秒-windows-store:PDP?PFN = 19185FernandoUrkijoCerced.MyTrip_q1p7rzex4ekjr

如果您將其複製並粘貼到Chrome,並且您有Windows 8,則應用程序商店將打開。但是,如果我試圖用我自定義的URI:

myTrip:地點:/ M/0942y1

它僅適用於IE瀏覽器,而不是瀏覽器。爲什麼Windows應用商店架構URI適用於Chrome,而不適用於我的架構?任何想法或黑客繞過這個問題?

謝謝你。

回答

1

Chrome不會自動識別自定義協議處理程序。 Firefox會識別您何時嘗試使用協議處理程序並提供爲您創建協議處理程序定義。 IE認可他們。

最重要的是,默認情況下Chrome會排除它不知道的協議處理程序。

爲了您的應用程序的處理程序添加到Chrome瀏覽器:

有了Chrome封閉

  • 導航到「C:\用戶\%用戶名%\應用程序數據\本地\谷歌\鍍鉻\用戶數據「
  • 使用記事本(或記事本++)編輯文件」本地狀態「
  • 回到標有」protocol_handler「的部分。您也可以搜索「MS-Windows的店」
  • 添加行「排除方案」:"myTrip": false,
  • 保存文件
  • Chrome啓動

您應該能夠使用你的協議現在在Chrome裏面。

+0

感謝您的答覆,但它不僅僅是我。我試圖在Facebook頁面中的架構uri中,在不同的瀏覽器中進行peole單擊,所以我不能要求他們這樣做。 – toroveneno

+1

你可以做的是鏈接到一個頁面,該頁面使用'navigator.registerHandler'註冊一個自定義協議處理程序。你可以找到更多[這裏](http://stackoverflow.com/questions/7087728/custom-protocol-handler-in-chrome)。 –