[英]Why aren't my Omnibox suggestions redirecting to another page?
我正在嘗試開發一個Chrome擴展程序,以在“建議”框中建議一些結果。
我可以看到建議,但是當我單擊其中之一時,什么也沒有發生。 默認建議也是如此。 我在控制台上說一個錯誤。
該錯誤某種程度上看起來像是在Google編寫的代碼中對此進行了編譯。
未捕獲的錯誤:第1行第16列的錯誤:EntityRef:期待';' 擴展::多功能框: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
}
);
});
如果您希望單擊某個選項時發生某些事情,請為chrome.omnibox.onInputEntered
事件注冊一個偵聽器。
至於錯誤
未捕獲的錯誤:第1行第16列的錯誤:EntityRef:期待';' 擴展::多功能框:41
此錯誤消息是由建議的description
屬性中的 XML無效引起的。 從文檔(重點是我的):
URL下拉列表中顯示的文本。 可以包含用於樣式的XML樣式的標記。 支持的標簽是“ url”(用於文字URL),“ match”(用於突出顯示與用戶查詢內容匹配的文本)和“ dim”(用於昏暗的輔助文本)。 樣式可以嵌套,例如。 暗淡的比賽。 您必須轉義五個預定義實體才能將它們顯示為文本: stackoverflow.com/a/1091953/89484
最后,我已經創建了一個擴展,為IMDB上的搜索提供搜索建議,請參閱https://chrome.google.com/webstore/detail/imdb-search/cbongpcdgehbfeajgkndgkbdkkfdmdik 。 您可以查看源代碼以獲取一些啟發,也可以根據需要進行安裝。 要查看或下載源代碼,可以使用Chrome擴展程序源查看器 (我也是)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.