2017-11-22 4 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

콜백은 일반적으로 일단 작업이 완료되면 호출 될 함수 포인터입니다 ... 그래서 당신은 그 장소에서 함수 블록을 전달해야합니다. 그래서 당신은 그 액션의 결과를 말할 수 있습니다 ... 자바 스크립트는 단일 스레드입니다. nonblocking calls –

+0

바로 위의'chrome.tabs.getSelected'의 함수 콜백은 무엇을합니까? –

+0

감사합니다. Josh! 사실 어딘가에서 "현재 URL 가져 오기"코드를 얻었고 함수 콜백 이었음을 알지 못했습니다. – InSaNo

답변

0

함수 콜백을 사용하여 값의 값을 얻을 수 있습니다. 예를 들어 Chrome OS에서 사용하는 경우

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

}); 

결과는 항목 값을 보유한 콜백입니다. 상황

(tablink, function(callback) {}); 

에서
콜백은 가능성이 가장 높은 검색 결과를 포함 할 것이다.