Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[JS] Bronvenster sluiten

Pagina: 1
Acties:
  • 102 views sinds 30-01-2008
  • Reageer

  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
Ik ben bezig met een intranetapplicatie die 'fullscreen' moet draaien. Ik laat de index pagina een popup met volledige grootte openen zonder werkbalken om zoveel mogelijk ruimte voor de applicatie te creëren. Nou zou het mooi zijn als ik het bronvenster daarna kon sluiten. Ik heb op GoT gezocht en kwam de volgende code tegen:

JavaScript:
1
2
window.opener=window.self;
window.close();

In FF 2.0.0.5 heeft dit geen effect, in Opera werkt het zonder melding, net als IE. In de Safari 3 beta voor Windows werkt het helemaal niet, maar dat kan ook aan de beta zelf liggen.

Bottom line: Ik zoek een methode om het bronvenster te sluiten. Dit mag met een melding zijn, als ik het bronvenster maar kan sluiten. In IE en Opera werkt dit helemaal geweldig (alhoewel niet helemaal volgens de regel dat een niet door JS geopend venster niet door JS gesloten mag worden), maar FF geeft helemaal geen kik, alleen in de console krijg ik een melding dat het venster niet gesloten mag worden.

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 13:11
JavaScript:
1
window.opener.close()
doet het altijd prima.

Verwijderd

document.writeline gebruiken om de window.opener.close() functie neer te zetten en anders niks tonen voor sluiten. Voor gebruikers is het vrij irritant als ze doordat ze geen javascript hebben een foutmelding krijgen.

  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
Bij beide methodes krijg ik in FF alleen een consolemessage dat scripts windows die niet door scripts geopend zijn niet mogen sluiten.

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 13:50

orf

Bij beide methodes krijg ik in FF alleen een consolemessage dat scripts windows die niet door scripts geopend zijn niet mogen sluiten.
En dat is maar goed ook; je gooit niet alleen een venster weg; je gooit daarmee de history van iemand weg. (de backbutton)

  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
orf schreef op donderdag 26 juli 2007 @ 13:59:
[...]


En dat is maar goed ook; je gooit niet alleen een venster weg; je gooit daarmee de history van iemand weg. (de backbutton)
Het is een intranetapplicatie, geen website ;) Daarbij kan ik dus lekker schijt hebben aan de history, moet de gebruiker de app maar via de normale koppeling openen en niet via een andere pagina. Mocht de gebruiker het toch via een andere pagina openen, dan valt daar ook een mouw aan te passen door één stap terug in de history te gaan.

De situatie is dus dat mensen een pagina openen die vervolgens de app in een 'fullscreen' popup tevoorschijn tovert. Het eerste venster (wat als enige nut het aanmaken van die popup heeft) is dan overbodig en mag gesloten worden.

//edit: Net trouwens nog even gekeken wat er via de commandline mogelijk was, maar dan wordt eerst de popup geopend en daarna alsnog een blanco pagina. Voor de geïnteresseerden, deze codes heb ik gebruikt:
JavaScript:
1
2
firefox javascript:window.open('http://example.com/', 'example')
firefox javascript:window.open('http://example.com/', 'example');window.close()

[ Voor 18% gewijzigd door Mei op 26-07-2007 14:06 ]


  • orf
  • Registratie: Augustus 2005
  • Laatst online: 13:50

orf

Als het een intranet is kun je toch ook gewoon IE als restrictie opleggen (of desnoods een .hta)

  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
orf schreef op donderdag 26 juli 2007 @ 14:08:
Als het een intranet is kun je toch ook gewoon IE als restrictie opleggen (of desnoods een .hta)
Waarom zou ik een sterk verouderde browser (IE6) of een browser die bij de release al flink verouderd is (IE7) als restrictie opleggen? Ik zie daar de logica niet zo van in. Verder draait lang niet iedereen IE en naast deze feiten zijn zowel mijn werkgever als ik van mening dat crossbrowser eigenlijk een must is.

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 13:50

orf

Dan zul je moeten leven met het feit dat je geen opener kan sluiten. (mijns inziens een juiste beslissing van een browservendor)

  • Optix
  • Registratie: Maart 2005
  • Laatst online: 19-11 11:46
En als je de opener stuurt naar een file die het venster laat sluiten...

Zoiets(?):
JavaScript:
1
window.opener.location = 'closeme.html';


closeme.html
JavaScript:
1
window.close();

.


  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
Ik heb geprobeerd de opener van het bronvenster naar de popup te later verwijzen met window.opener=window['example'];, maar daar trapt Firefox niet in. Krijg nog steeds diezelfde melding in de console.
Pagina: 1