簡體   English   中英

如何在國外Ember應用程序上檢測路由更改?

[英]How to detect a route change on foreign Ember application?

我正在嘗試為Zendesk開發Chrome擴展程序,看來他們的應用程序是使用Ember構建的。 我使用$(document).ready,但這只是在刷新頁面時才真正觸發...否則根本不會觸發。 如何在Zendesk中監聽我的Chrome擴展程序的頁面更改?

我環顧四周,只發現只有我自己的Ember應用程序才有幫助的答案。 另外,它也不是哈希變化。

聽起來您好像想為beforeunload事件實現一個偵聽器: https : //developer.mozilla.org/en-US/docs/Web/Events/beforeunload

但是,與其設置確認消息,不如執行導航更改時想要執行的任何操作。 如果添加確認消息,它將彈出一個對話框,詢問您是否真的要離開,但這聽起來並不是您想要的。 聽起來您只想監視一個導航事件已發生,但是我可能會誤會。

這里有一些想法:

  • 您可能劫持了history對象方法。
  • 或者,如果您可以訪問特權的chrome API,則可以嘗試使用network.onNavigated 我不知道是否在歷史pushState上調用它,更好地檢查一下。

您還可以查看Ember檢查器代碼 ,它提供了有關當前正在運行的ember應用程序的很多見解, 包括當前處於活動狀態的路由,因此您可以在其中找到所需的工具。

我認為它可以通過向頁面中注入一些代碼,然后通過窗口消息與之通信來實現。 然后,注入的代碼執行請求的分析並發回結果。

暫無
暫無

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

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