2016-03-18 26 views
-1

Nightmare'da renderer işleminden (web sayfası) ana işleme (düğüm) iletiyi nasıl gönderebilirim? Elektron ve Kabus'ta ipc var ve bunun mümkün olduğunu düşünürüm, ancak bunun mümkün olduğunu anlayamıyorum. BöyleKabus ile node işleminden renderer işlemine mesaj gönder

şey:

http://example.com

<script type="text/javascript"> 
window.postMessage('aaaaaaaa', '*'); 
</script> 

index.js

Eğer sayfadan veri almak için çalışıyorsanız
let nightmare = new Nightmare(); 
nightmare.on('message', function(e) { 
console.log(e.data); // will output aaaaaaaa 
}); 

nightmare.goto('http://example.com').then(function() { 
console.log('loaded'); 
}); 
+0

Yapmaya çalıştığınız şey hakkında daha fazla bilgi verebilir misiniz? – Ross

+0

@Ross Javascript'ten node işlemine mesaj gönderebilen bir sayfa yüklemek istiyorum ve bu js'nin nasıl görünmesi gerektiğini bilmiyorum. –

+0

Daha spesifik olmalıydım: Ne yapmaya çalıştığınızı gösteren örnek bir kod verebilir misiniz? – Ross

cevap

1

, neden .evaluate() kullanılır? şöyle birşey: eklentileri o sarar Elektron örneğine aşağı Kabusu izin verilir dek

nightmare.goto('http://example.com') 
    .evaluate(function(){ 
     var element = document.querySelector('some-element.query'); 
     return element.value; 
    }) 
    .then(function(value){ 
     console.log(value); 
    }); 

orijinal örnek için, keyfi olayları gönderemez. Nightmare #354, Nightmare #367 içinde düzeltmeye çalıştım kabusun kabusuna keyfi olaylar ekleyerek bir tartışma vardı. Keyfi olayların eklenmesi, #425 kapsamında bir eklenti olmalıdır. PR eklentisi kabul edilmedi, ancak eklenti çatalı is already completed için eklenti.