将 NPAPI 插件与节点一起使用
use NPAPI plugin with node
我正在制作一个利用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,并且基本上避免在主机上打开窗口。 但是我找不到办法在 NODE 而不是NODE-WEBKIT 中执行此操作(直到它可以运送到移动设备之前,在这种情况下几乎毫无用处,因为这主要由移动用户使用。
你可以假设编写一个 Node 模块来加载一个 NPAPI 插件,但这非常困难。绝对没有任何交钥匙解决方案。
FireBreath 2.0将支持一种可能用于执行此操作的新协议,但它仍处于早期规划阶段。 我预计至少一两个月不会有任何发布。
相关文章:
- 节点导出返回一个空对象
- 可以前端maven插件使用节点,npm已经安装
- 将 NPAPI 插件与节点一起使用
- 将mod_pagespeed与本机节点.js服务器一起使用
- 节点.js将我的模块连接在一起而不会变得一团糟
- 将 JavaScript 与 TreeView 节点一起使用 检查/取消选中功能
- Pure.js 必须与现有页面节点一起使用
- 我们如何或可以通过 npm 与 Meteor 一起使用节点模块
- 将两个对象与多个节点组合在一起——为什么这段代码有效
- 插入跨度后将文本节点合并在一起
- d3.js将节点和标签一起移动
- NodeJS使用节点static和restify在一起
- 无法在节点服务器中接收与get请求一起发送的数据
- 将节点与break标记一起附加到文档片段
- 如何将$se.trustAsHtml与一些HTML节点一起使用
- 如何将jsdom.jQueryify与jasmine节点一起使用
- 如何使用xmlhttprequest使一个新的子节点与php脚本中的节点数据一起出现在html中
- 让 CORS 与 JQuery 客户端、节点/快速服务器一起工作时出现问题
- 将 Ember 数据与 D3.js 节点一起使用(强制布局)
- 如何将节点作为参数与其他类型一起传递给使用ajax在umbraco中的函数