Inhaltsskript einfügen, wenn die Seite von history.pushState und ajax geändert wurde call

Ich habe mit dem Problem beim Einfügen eines Inhaltsskripts in die Seite zu kämpfen, das durch den Aufruf von history.pushState und ajax geändert wurde. Ich habe das @ gefundähnliches Thema bei stackoverflow, aber diese Lösung funktioniert bei mir nicht (diese Lösung wurde mit chrome.webNavigation.onHistoryStateUpdated und dem Ereignis "popstate" verwendet).

Hier ist ein Fragment meines Manifests:

"content_scripts": [
    {
      "matches": ["https://vk.com/audios*", "https://vk.com/al_audio.php*"],
      "js": ["jquery-2.1.4.min.js", "getListOfSongs.js"]
    }
  ]

chrome.webNavigation.onHistoryStateUpdated funktioniert nur, wenn ich zu einer anderen Seite navigiere. Wenn ich mehrmals hintereinander zu derselben Seite navigiere, passiert nichts. Zum Beispiel: es funktioniert, wenn

1) Gehe zumhttps: //vk.com/audio * - Seite zum ersten Mal öffnen oder neu laden

2) Gehe zumhttps: //vk.com/some_other_pag - ajax call

3) Gehe zumhttps: //vk.com/audio * - Ajax call

Es funktioniert nicht wenn

1) Gehe zumhttps: //vk.com/audio * - Seite zum ersten Mal öffnen oder neu laden

2) Gehe nochmal zumhttps: //vk.com/audio * - Ajax-Aufruf, an dieser Stelle injiziert das Inhaltsskript nicht
3) Gehe nochmal zumhttps: //vk.com/audio * - Ajax-Aufruf, an dieser Stelle wird das Inhaltsskript nicht injiziert usw.

Jedes Mal, wenn ich zum zweiten Mal auf dieselbe Seite klicke, wird die folgende Anfrage generiert:

https: //vk.com/al_audio.php? __query = audios ********* & _ ref = left_nav & _smt = audio% 3A2 & al = -1 & al_id = ******* & _ rndVer = 60742

(Parameter der Anfrage können variieren)

EbenfallsJQuery .ajaxComplete fängt in diesem Fall keine Ereignisse ab.

Und pushState löst kein "popstate" -Ereignis aus, daher kann ich window.onpopstate event nicht verwenden.

Ich könnte @ verwend chrome.webNavigation.onDOMContentLoaded und chrome.webNavigation.onCompleted aber wenn ich Seite neu lade, passieren diese Ereignisse mehr als einmal, so dass Skript mehr als einmal injiziert wird.

Was ist die beste Lösung für diesen Fall?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage