簡體   English   中英

Chrome Apps <a>代碼無效</a>

[英]Chrome Apps <a> tag not working

自從我使用Chrome應用程序以來已經過了幾年。 我開始討論制作一些簡單的例子來學習新的過程。 問題是,我發現使用<a>標簽更改加載到打包應用程序內的另一個html頁面的html頁面將無法正常工作。 我正在尋找不同的方法來更改屏幕,檢索用戶輸入(按鈕單擊,鏈接點擊等等)。 我已經在網上找到了很少有關制作Chrome應用程序的文檔,大多數示例都展示了如何創建一個簡單的“Hello World”以及如何發布它。 除此之外沒有太多廣泛的教程。 只是為了澄清這個應用程序將是一個真正的Chrome應用程序,而不是某個網站的鏈接。 所有文件都將與chrome應用程序一起打包。

Chrome應用程序旨在成為“單頁應用程序” ,無法按設計導航鏈接。 <a>鏈接應該在常規瀏覽器窗口中打開。

如果您想在應用程序中執行“url routing”來更改視圖,您可以使用自己的解決方案,但應該使用框架來幫助您。

這里有些例子:

  • 聚合物
  • 流星
  • 骨干

清單很廣泛。 可能有許多其他堆棧溢出答案比較每個框架。

表示Chrome應用程序窗口內容的DOM(文檔對象模型)是從HTML文件啟動的,但從那時起,您無法通過引用任何其他文件來更改它,這是您期望導航執行的操作。 <a>通過“target = _blank”屬性導航到外部瀏覽器的元素完全可以。)

但是,您可以在運行時自由地從JavaScript更改DOM。 如果您願意,可以在<a>元素上設置事件處理程序並根據需要更改DOM。 如果您想通過HTML(而不是文件)更改DOM,您可能會發現JavaScript方法insertAdjacentHTML很有用。 實際上,您可以從文件中獲取HTML,但您必須使用Chrome App文件I / O API自行閱讀該文件。

在我看來,使用框架的另一個答案的建議是矯枉過正。 如果您想到Windows應用程序,Mac應用程序或任何其他類型的基於GUI的應用程序,您絕不會假設您只需通過引用HTML文件將UI更改為完全不同的內容。 將Chrome應用程序視為與這種技術類似,您將走上正確的道路。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM