2015-06-21 72 views
2

我使用manifest.json中的url_handlers在我訪問example.com網站時啓動我的Chrome應用程序。當我在chrome中創建新選項卡並在地址欄中寫入example.com時 - 應用程序啓動,但選項卡保持空白並且不加載我的頁面。Chrome url_handlers:允許打開原始URL

是否有可能或選擇啓動應用程序與url_hanlers仍然加載我的網頁?

+0

請問您可以在您的js中共享回調處理程序代碼嗎? – Rivero

+0

您可能正在處理網址,但您仍然需要將網站的內容加載到打開的選項卡中。 – Rivero

回答

1

API本身沒有明確支持這樣的事情。如果您堅持同時加載網頁和同時啓動應用程序,則可以更改應用程序以聽取比example.com更具體的URL(或完全不同來源的URL),並強制該特定URL加載你的頁面。這可能是一個虛擬圖像,或者是一個<a>標籤,您可以通過鏈接腳本或者甚至是<link rel="import" href="...">標籤以編程方式點擊標籤(我希望後者能夠正常工作,但是它會對URL中的URL進行額外限制)與您的主頁相同 - 否則您可能需要處理CORS預防)。所以,一個工作的例子是:

  • 在您的應用程序的清單:

"url_handlers": { "launch-from-example-com": { "title": "...", "matches": [ "http://example.com/app-starter" ] } }

  • 在您網頁的HTML:

<body> <a id="app-starter" href="http://example.com/app-starter"></a> ... <script> document.querySelector("#app-starter").click(); </script>

這是什麼你需要?

相關問題