NPAPI를 사용하여 Safari 플러그인을 작성하고 있습니다. NPAPI 플러그인 (FireBreath를 사용하지 않음)에서 JavaScript로 정수를 반환하려면 어떻게해야합니까? 자바 스크립트 :NPAPI 플러그인에서 JavaScript로 정수를 반환하는 방법
<html>
<head>
<script>
function run() {
var plugin = document.getElementById("pluginId");
var number = plugin.getBrowserName();
alert(number);
}
</script>
</head>
<body >
<embed width="0" height="0" type="test/x-open-with-default-plugin" id="pluginId">
<button onclick="run()">run</button>
</body>
</html>
플러그인 코드 :
bool plugin_invoke(NPObject *obj, NPIdentifier methodName, const NPVariant *args, uint32_t argCount, NPVariant *result) {
// Make sure the method called is "open".
NPUTF8 *name = browser->utf8fromidentifier(methodName);
if(strcmp(name, plugin_method_name_getBrowserName) == 0) {
//what can i do here?
}
return true;
}
방법 (plugin.getBrowserName의 숫자를 반환하는)?
Plz 도움말! Return an integer/String from NPAPI plugin to JavaScript(Not using FireBreath), 그러나이 코드를
char* npOutString = (char *)pNetscapefn->memalloc(strlen(StringVariable) + 1);
if (!npOutString) return false; strcpy(npOutString, StringVariable);
STRINGZ_TO_NPVARIANT(npOutString, *result);
넣어 어디 모르겠어 :
나는이 스레드를 찾을 수입니다.
'utf8fromidentifier'가 부 최적이 아닌가에 따라'static const NPIdentifier id = browser-> getstringidentifier ("foo")와 같은 것을 사용하는 것이 더 좋습니다. if (methodName == id) {...'. –