Ich versuche eine Chrome-Erweiterung zu entwickeln, die einige Ergebnisse in der Vorschlags-Box vorschlägt.Warum werden meine Omnibox-Vorschläge nicht auf eine andere Seite umgeleitet?
Ich kann die Vorschläge sehen, wie ich sollte, aber wenn ich auf einen von ihnen klicke, passiert nichts. Dasselbe gilt auch für die Standardvorschläge. Ich bekomme einen Fehler in der Konsole zu sagen.
Der Fehler sieht irgendwie wie es in dem Code aus, den Google schrieb, das kompiliert.
Uncaught Error: error on line 1 at column 16: EntityRef: expecting ';' extensions::omnibox:41
Hier ist der Code:
chrome.omnibox.onInputChanged.addListener(function(text, suggest){
var suggestions = [];
var omdbAPI = 'http://www.omdbapi.com/?' + 's=' + text.split(' ').join('+');
var req = new XMLHttpRequest();
req.open('GET', omdbAPI , true);
req.send();
req.onreadystatechange = function(){
if(this.readyState === 4 && this.status == 200) {
var data = JSON.parse(this.responseText);
if(data.Response == "True"){
data.Search.map(function(a){
suggestions.push({
description: a.Title + ' (' +a.Year + ')',
content: 'www.imdb.com/title/' + a.imdbID
});
});
console.log(suggestions);
suggest(suggestions);
}
}
}
chrome.omnibox.setDefaultSuggestion(
{
description: 'Search on IMDB: ' + text
}
);
});
Ihr Fehler zeigt an, dass Sie ein ';' Semikolon irgendwo. – noogui
@noogui Wie kann das fehlende Semikolon in meinem Code sein, wenn der Fehler darauf hinweist, dass es in Googe's Code ist, obwohl das wahrscheinlich nicht wahr ist? – ninesalt
@ Swailem95 Obwohl der Anfang des Stapels im Chrome-Code liegt, liegt die Ursache für den Fehler in Ihrer Eingabe. Sie können sehen, dass Chrome versucht, Ihre Eingaben zu analysieren, und wenn es sich nicht um gültige XML handelt: https://chromium.googlesource.com/chromium/src/+/180e7e74926ea32ac039821926542452d1201c5e/chrome/renderer/resources/extensions/omnibox_custom_bindings.js#41 –