2016-04-06 1 views
0

J'essaie de créer une application kisok qui ouvre une page Web dans une nouvelle fenêtre. Et sur cette nouvelle fenêtre, je veux ajouter la règle que seule cette page est autorisée. Mais il semble que chrome-args n'est pas une option valide sur la fonction ouverte. Donc, si cette option n'est pas autorisée, comment puis-je résoudre ce problème?Ouvrir de nouvelles lignes avec un kiosque et des arguments de chrome

var new_win = gui.Window.open('https://github.com', { 
    kiosk: true, 
    'chromium-args' : '--host-rules="MAP * github.com"' 
}); 

Répondre

1

Vous devez window event new-win-policy:

function (frame, url, policy) {} 

Emis quand une nouvelle fenêtre est demandée à cette fenêtre ou un enfant iframe, par exemple l'utilisateur clique sur un lien avec _blank target. la politique

est un objet avec les méthodes suivantes:

  • ignore(): ignorer la demande, la navigation ne se produira pas.
  • forceCurrent(): forcer le lien pour être ouvert dans le même cadre
  • forceDownload(): forcer la liaison à un téléchargeable, ou ouvert par programme externe
  • forceNewWindow(): forcer le maillon à ouvrir dans une nouvelle fenêtre
  • forceNewPopup(): forcer le lien à ouvrir dans une nouvelle fenêtre pop-up
  • setNewWindowManifest(m): contrôler les options pour la nouvelle fenêtre pop-up . L'objet m est dans le même format que le sous-champ de fenêtre au format Format manifeste (par exemple, {"frame" : false}). depuis v0.11.3
code

est le suivant:

var new_win = gui.Window.open('https://github.com', { kiosk: true }); 
new_win.on('new-win-policy', function (frame, url, policy) { 
    policy.ignore() 
}); 
+0

Merci, je regarderai pour cela. Mais l'utilisateur peut-il aller à une nouvelle page sur le même domaine? http://www.example.com/index.html à index2.html? –

+0

Je ne pense pas que cela fonctionne ... Il ouvre toujours une nouvelle fenêtre ... –

+0

Cela fonctionne, 100%, je l'ai utilisé. Quelle version de nwjs? Certaines versions de nwjs peuvent avoir des bogues (il y avait quelques problèmes dans les versions 0.13.X et dans certaines versions très précoces). Essayez les derniers nwjs ou 0.12.3. – VoidVolker