如何在NPAPI插件中捕获onload,onerror

时间:2012-09-12 16:07:06

标签: npapi

在javascript中我的代码如下:

function start() {  

  var start = document.getElementById('start'); //start is object for my plugin
  if(start){
    getAsLoad(start);
  }
} 
function getAsLoad(startObj) {
var load = startObj.startMethod();

  // Handle progress, success, and errors
  load.onload = loaded;
  load.onerror = errorHandler;
}

function loaded(evt) {  
  var StringData = evt.target.result;
  alert(StringData);      
} // Like loaded similar code for errorHandling

如何在简单的NPAPI插件中启动它,事件处理机制,我知道在firebreadth它是一个cakewalk,根据我的要求我不能使用它。所以我必须在NPAPI插件中实现这种事情。提前致谢。

1 个答案:

答案 0 :(得分:1)

最简单的方法是让javascript调用你的插件。

如果你想从插件中做到这一点,你只需获得DOM窗口NPObject并开始调用方法和获取属性等。

例如,要获得“start”,可以使用“document”调用getProperty,然后使用“getElementById”和“start”作为参数调用生成的NPObject上的Invoke。

如果你想要回调你的插件,就会出现棘手的部分,在这种情况下你必须创建一个处理InvokeDefault的NPObject,它将在回调触发时调用。这有点痛苦,但从那里的细节与javascript相同,只是有点麻烦