[Electron] Ako nechať otvoriť každý link začínajúci s "http://" alebo "https://" a zároveň obsahujúci target _blank v prehliadači namiesto v aplikácii rubrika: Programování: JavaScript

6 Mlocik97
položil/-a 25.12.2017

Zdravím, potreboval by som poradiť ako v electrone nechať každý link (url) začínajúci s "http://" alebo "https://" a zároveň obsahujúci target _blank otvárať v prehliadači namiesto v aplikácii...

chcem to ale bez ďalších modulov, ako je napr. node-open (to som našiel ako radu na stackoverflow) a pod... jediné moduly ktoré používam sú moduly ktoré sú už súčasťou electron, ďalej AngularJS, jQuery a ešte používam node.js

odkaz Vyřešeno
2 lesna.vevericka
odpověděl/-a 26.12.2017

const shell = require('electron').shell;

// assuming $ is jQuery
$(document).on('click', 'a[href^="http"]', function(event) {
event.preventDefault();
shell.openExternal(this.href);
});
Isiel by som na to tak, ze by som v jquery nasiel atributy target obsahujuce blank a hrefy obsahujuce http a https a nasledne shellom otvoril predvoleny prehliadac so strankami. https://stackoverflow.com/questions/31749625/make-a-link-from-electron-o...

Komentáře

  • vojta.tranta : Tohle jsme nedělali, přišlo mi to dost šílený mít to takle pověšený na každej element a ještě to řešit, když renderuju kusy html přes Javascript. Ale pokud to je jenom statická stránka pocukrovaná jQuery, tak v pohodě. 26.12.2017
  • Mlocik97 : môžem ešte otázku, ako importnuť jQuery do main processu? furt mi to píše chyby, aj keď to robím "správne" (podľa stackoverflow, dokumentace electronu, github gistov, a pod.) 29.12.2017
  • vojta.tranta : Tohle není v main procesu, tohle je udělaný v render procesu. 30.12.2017
  • Mlocik97 : vojta.tranta Až dnes som sa dostal k riešeniu, takže momentálne už konečne linky neotvára v aplikaci, ale neotvorí to ani v prehliadači,... v consoli mám chybu: "Uncaught ReferenceError: require is not defined at main.js:1 [main.js:1]",... 1.1.2018
  • Mlocik97 : tak už vyriešené, funguje to presne tak ako potrebujem. 1.1.2018
  • Mlocik97 : akurát to funguje len když kliknem lavým tlačítkom,... avšak ak kliknem stredným (kolieskom), tak sa to otvára stále v aplikácii. 1.1.2018
  • Mlocik97 : vyriešené, stačilo to upraviť na 'click auxclick' 1.1.2018

Pro zobrazení všech 3 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.