2017-11-22 2 views
-1

私はここ数日前に、ツールバーにアイコンを追加した拡張機能があるかどうかを尋ねました。これは、初めてページにアクセスしたときに灰色または不可視になり、前に訪問したときにアクティブになります。ここで関数コールバックとは何ですか?残りのコードは正しいですか?

私はC++を少ししか知りません。拡張機能を自分で作成するのは簡単だと言われました。私はGoogleの文書を勉強しました。これが私が思いつく最高のものです。

manifest.jsonに「history」と「tabs」を追加しました。

// When the extension is installed or upgraded ... 
chrome.runtime.onInstalled.addListener(function() { 
    // Replace all rules ... 
    chrome.declarativeContent.onPageChanged.removeRules(undefined, function() { 
    // With a new rule ... 
    chrome.declarativeContent.onPageChanged.addRules([ 
     { 
     // That fires when a page's URL has been visited before 
     conditions: [ 
     //get current URL 
      chrome.tabs.getSelected(null,function(tab) { 
      var tablink = tab.url; 
     //search for current URL 
     chrome.history.search(tablink, ***FUNCTION CALLBACK***) 
     }); 
     ], 
     // And shows the extension's page action. 
     actions: [ new chrome.declarativeContent.ShowPageAction() ] 
     } 
    ]); 
    }); 
}); 

私の具体的な質問は、私がキャップで強調した機能コールバックは何ですか?なぜそれは関数であり、配列や変数ではないのですか?検索の結果が空であるかどうかをテストするにはどうすればよいですか?

私はあまりにも遠いですか?私はちょうどあきらめて、実際に勉強して言語を学ぶ前に勉強しなければならないか、それほど遠くないのですか?私は実際に何かを学びたいとは思っていませんでした。

+0

コールバックは一般的に、その操作が完了したら呼び出される関数ポインタです...その場所で関数ブロックを渡す必要があるので、そのアクションの結果を示すことができます... javascriptはシングルスレッドです非ブロッキングコール –

+0

すぐ上に、 'chrome.tabs.getSelected'の関数コールバックは何をしますか? –

+0

ありがとうジョシュ!私は実際にどこかから "現在のURLを取得する"コードを得て、それも関数のコールバックであることに気づいていませんでした。 – InSaNo

答えて

0

関数のコールバックを使用して何かの値を取得できます。たとえば、Chrome OSの場合

chrome.storage.local.get("Item", function(result) { 

}); 

結果はItemの値を保持するコールバックです。あなたの状況

(tablink, function(callback) {}); 


は、コールバックは、最も可能性の高い検索結果が含まれます。

関連する問題