【发布时间】:2015-01-19 00:29:13
【问题描述】:
我正在制作一个使用 npapi 插件的节点应用程序。基本上我正在尝试这样做,因此如果连接到服务器的设备或浏览器不支持该插件,它将退回到服务器。目前我有一个类似的解决方法,但是它需要在发送请求时在主机上打开一个新窗口
(解决方法)
var open = require('open');
var jobs = [];
router.get('/nsjob', function(req, res, next){
var job = {
id:(jobs.length > 0) ? jobs[jobs.length - 1].index + 1:0,
xml://xml,
params://params,
callback:function(err, data){
if(err)
return next(err);
res.send(data);
}
};
open('http://localhost:3000/handleJob/' + job.index);
});
router.get('/handleJob/:id', function(req, res){
var job;
for(var i in jobs){
if(jobs[i].index === req.params.id){
job = jobs[i];
break;
}
}
res.render('hjob', job')
});
router.post('/completedJob/:id', function(req, res){
var job;
for(var i in jobs){
if(jobs[i].index === req.params.id){
job = jobs[i];
break;
}
}
if(req.body)
job.callback(req.body.err, req.body.data);
else
job.callback(null, null);
res.end();
});
这一切都很好而且很好,但似乎是一个非常糟糕的方法,但是我需要这个后备选项,但它几乎不可能在移动设备在服务器上运行时使用主机。如果我可以将 NPAPI 插件加载到节点,我可以修改 api 以不使用 dom 并基本上避免在主机上打开窗口。但是我找不到在节点 NOT NODE-WEBKIT 中执行此操作的方法(直到它可以运送到移动设备上,在这种情况下它几乎没用,因为这主要由移动用户使用。
【问题讨论】:
标签: javascript node.js npapi