簡體   English   中英

為什么我的多功能框建議沒有重定向到另一個頁面?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM