Saya membuat aplikasi simpul yang menggunakan plugin npapi. pada dasarnya saya mencoba membuatnya sehingga jika perangkat atau browser yang terhubung ke server tidak mendukung plugin maka akan jatuh kembali ke server. saat ini saya memiliki solusi seperti itu yang berfungsi namun memerlukan pembukaan jendela baru di komputer host setiap kali permintaan dikirim
(rute solusi)
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();
});
ini berfungsi dengan baik dan bagus tetapi sepertinya cara yang sangat buruk untuk melakukannya namun saya memerlukan opsi fallback ini tetapi itu membuatnya hampir tidak mungkin untuk menggunakan komputer host saat perangkat seluler berjalan di server. jika saya dapat memuat plugin NPAPI ke node, saya dapat memodifikasi api agar tidak menggunakan dom dan pada dasarnya menghindari membuka jendela di komputer host. namun saya tidak dapat menemukan cara untuk melakukan ini di node BUKAN NODE-WEBKIT (sampai dapat dikirim ke seluler, hal ini tidak ada gunanya dalam kasus ini karena ini terutama digunakan oleh pengguna seluler.