私は提案ボックスにいくつかの結果を示唆するクロム拡張を開発しようとしています。オムニバスの提案が別のページにリダイレクトされないのはなぜですか?
私はそれらのうちの1つをクリックしても何も起こらないが、私はすべきだと思う。同じこともデフォルトの提案になります。コンソールでエラーが表示されます。
エラーはどうにかしてGoogleがコードをコンパイルしたコードのように見えます。ここで
Uncaught Error: error on line 1 at column 16: EntityRef: expecting ';' extensions::omnibox:41
コードです:
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
}
);
});
エラーは、「;」が欠落していることを示しています。セミコロンどこかに。 – noogui
@noogui Googeのコードに誤りがあると、たとえそれが本当でないとしても、セミコロンが見つからない場合はどうすればできますか? – ninesalt
@ Swailem95スタックの一番上はChromeのコードですが、エラーの原因は入力にあります。 Chromeが入力を解析し、有効なXMLでない場合はスローすることがわかります。https://chromium.googlesource.com/chromium/src/+/180e7e74926ea32ac039821926542452d1201c5e/chrome/renderer/resources/extensions/omnibox_custom_bindings.js#41 –