【问题标题】:use NPAPI plugin with node将 NPAPI 插件与节点一起使用
【发布时间】: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


    【解决方案1】:

    您可以假设编写一个加载 NPAPI 插件的 Node 模块,但这会非常困难。绝对没有任何交钥匙解决方案。

    FireBreath 2.0 将支持可能用于执行此操作的新协议,但仍处于早期规划阶段。我预计至少一两个月内不会发布任何版本。

    【讨论】:

    • 我一直在研究这个,但是我找不到太多关于处理 npapi 插件的信息我已经制作了几个 node-webkit 应用程序,这些应用程序可以透明地运行。它不干净,但它可以工作,但是我想找到一个更可靠的解决方案
    • 您也找不到太多信息。这不是广泛完成的事情。我想说世界上只有不到 10 人(当然不到 20 人)有使用 NPAPI 的经验可以轻松地做到这一点,而且我们都没有特别想这样做。你能从中了解到点东西。你想做的不是一个好主意,我不建议你尝试。找到更好的解决方案。
    • 不仅它即将被淘汰,这就是为什么我想打包一个解决方案......至少在新驱动程序出来之前
    • 嗯,NPAPI 在 Chrome 上被逐步淘汰。没有其他人宣布计划摆脱它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多