자바 스크립트에서 전화를 받아야하는 플러그인을 만들고 있습니다. 특히 javascript에 콜백 함수를 제공 할 수 있어야하며 자바 스크립트는 나중에 적어도 문자열 인수로 해당 함수를 호출 할 수 있어야합니다.NPAPI를 사용하여 페이지의 자바 스크립트에서 전화를받는 방법은 무엇입니까?
var callback = null;
var setCallback = function(cb) {
var callback = cb;
};
var input = document.getElementById('my_text_input_field');
input.onkeypress = function(ev) {
// Did the user press enter?
if (ev && ev.which == 13) {
callback(input.value);
return false;
}
};
내 C 코드는 다음과 같이 보입니다 상상하고있어, 지금까지 :
void SetCallback(void (*callback)(const char*)) {
NPVariant npCallback;
OBJECT_TO_NPVARIANT(callback, npCallback);
NPVariant args[] = { npCallback };
size_t nargs = 1;
NPVariant result;
// gFuncs is an NPNetscapeFuncs pointer
NPIdentifier method = gFuncs->getstringidentifier("setCallback");
// gJavaScriptAPI is an NPObject pointer
gFuncs->invoke(gInstance, gJavaScriptAPI, method, args, nargs, &result);
}
이 합리적인 시작되는 자바 스크립트 (적)이 같이 보입니다? 그렇다면 호출을 처리하기 위해 콜백 함수에서 무엇을해야합니까? 그렇지 않은 경우 이와 같은 작업을 수행하는 올바른 방법은 무엇입니까? 아니면 NPAPI에서 불가능합니다.
미리 감사드립니다.
응답과 링크에 감사드립니다. – itfische
환영합니다 ... 답변을 선택하지 않은 이유가 무엇입니까? 이것이 아닌 경우 무엇이 무엇인지 명확히 할 수 있습니까? – taxilian