Ich versuche, einen Browser für die Erweiterung für mich selbst zu bauen. Die Idee ist, dass wenn ich auf das Icon des Plugins klicke, öffnet sich eine Seite. Ich möchte dann Code ausführen, nachdem die neue Seite geladen wurde, aber irgendwie funktioniert es nicht.chrome.webNavigation.onCompleted gefeuert vor Abschluss?
var result;
chrome.browserAction.onClicked.addListener(function() {
chrome.history.search(
{ text: "", maxResults: 100}, //object
function(results) { //callback
for(var item in results) {
var currItem = results[item];
if (currItem.url.indexOf("some_domain") > -1) {
result = results[item];
break;
}
}
//Go to website
chrome.tabs.create({
'url': result.url
}, function(tab) {
new_tabId = tab.id;
});
}
);
});
hier Jetzt kommt der Teil, der fehlschlägt:
chrome.webNavigation.onCompleted.addListener(function(details) {
// if (check for correct URL here) {
var videos = document.getElementsByTagName("video");
var video = videos[0];
alert(videos.length); <--- always Zero! Why??
video.load();
video.play();
video.addEventListener("ended", function() { ... });
// }
});
Sie beide im gleichen Hintergrund Skript sind, und ich habe keinen Content-Skript. Die Berechtigungen im Manifest sind "tabs", "history", "webNavigation"
Als ich mit der Entwicklerkonsole überprüfen und zu tun: ich die richtige Nummer erhalten tun.
In welchem Browser und welcher Version testen Sie? – Makyen
@Makyen Opera - Version: 39.0.2256.48 – Gandora
Zumindest einen Blick auf die [Erweiterung Übersicht] (https://developer.chrome.com/extensions/overview#arch), bitte, und Sie werden sehen, dass ein Content-Skript wird benötigt, um auf das DOM der Webseite zuzugreifen. – wOxxOm