Probleem met popup-vensters in Edge

Status
Niet open voor verdere reacties.

afarensis

Verenigingslid
Lid geworden
12 jul 2011
Berichten
586
Besturingssysteem
Windows 11
Office versie
365
Het lijkt erop dat ik een vervelend probleem zal krijgen als Edge meer ingeburgerd raakt. In mijn site www.lucyonline.nl heb ik een groot aantal popup-vensters, die ik graag wil blijven gebruiken. Voorbeeld hiervan is te zien via Knop ‘Lucy’ en keuze ‘Nadere beschouwing’. In 2e alinea (naast plaatje) klikken op: ‘Klik hier’. Er wordt dan een popup geopend. Als je op de knop ‘Sluit’ klikt, sluit deze keurig en keer je terug naar de ‘onderliggende’ pagina van waaruit de popup werd geopend.

Dit, in mijn ogen, knap stukje script is voor mij gemaakt door csshunter (deze persoon was jarenlang actief in dit forum, maar het lijkt erop dat het nu niet meer actief is). Hoewel ik wel een beetje kennis heb van HTML en JS, gaat dit mij boven de pet. Het script zorgt er dus voor dat de knop "Home" vervangen door de knop "Sluit" als deze geopend wordt vanuit een bepaalde pagina. Echt een knap stukje werk….
Opmaak van de knop wordt verder bepaald in stylelucy.css. De inhoud hiervan en de inhoud van popupscript.js heb ik geplakt onderin dit bericht:

In IE, Chrome en Firefox worden de popups prima getoond, maar in Edge dus niet. Nu dan de vraag: Zou iemand mij kunnen helpen met het aanpassen van het script en/of de css. Het kan wellicht zo zijn dat deze techniek gewoon niet ondersteund zal worden in Edge, en dan moet ik maar zien. Maar omdat het vele tientallen popups zijn en ik de werking hiervan fraai en functioneel vindt, zou het heel jammer zijn als het in Edge niet werkend te krijgen is.

Aanvullende info zal ik natuurlijk graag geven….

Stylelucy.css
<script type="text/javascript">
//<![CDATA[
if (location.href.indexOf('#special')!=-1){
// als een #special achtervoegsel in de paginanaam bestaat, dan is het een popup
// en wordt de knop "Home" vervangen door de knop "Sluit"
// om terug te keren naar de pagina waar de popup in werd geopend:
document.getElementById('nav').innerHTML='<a href="#" onclick="window.close(); return false;">Sluit</a>';
}
//]]>
</script>

Popupscript.js

// JavaScript Document van Lucy
var msgWindow = null;
var refElm = { e : null, offsetHeight : 24 };
function getTextHeight() {
if (document.documentElement) {
refElm.e = document.createElement('div');
refElm.e.style.position = 'absolute';
refElm.e.style.left = '-99px';
refElm.e.style.top = '-99px';
refElm.e.appendChild(document.createTextNode('Hg'));
document.body.appendChild(refElm.e);
}
else
refElm.e = refElm;
}
function openWinCaption(url, width, height, noCaption, scrollBars) {
if (!refElm.e) getTextHeight();
if (!window.open) return true;
var x = (screen.width -width) >> (window.opera ? 2 : 1);
var y = (screen.height-height) >> (window.opera ? 2 : 1);
if (msgWindow &&
(typeof(msgWindow.closed)!='undefined') &&
!msgWindow.closed) msgWindow.close();
msgWindow = window.open(url, 'w_' + self.name,
'width=' + width +
',height=' + (height + (noCaption ? 0 : refElm.e.offsetHeight)) +
',left=' + x +
',top=' + y +
',screenX=' + x +
',screenY=' + y +
',scrollbars=' + (scrollBars ? scrollBars : 'no'));
if (!msgWindow) return true;
msgWindow.focus();
return false;
}
function openWin(url, width, height) {
return openWinCaption(url, width, height, true, 'yes');
}
function CloseIt() {
close();
}
function openWinImg(url, width, height) {
if (openWinCaption('', width, height, true)) return true;
msgWindow.document.open();
msgWindow.document.write('<html><head>' +
'<title><\/title>' +
'<meta http-equiv="imagetoolbar" content="no">' +
'<style type = "text/css">' +
'html, body, img {' +
'display : block;' +
'margin : 0;' +
'padding : 0;' +
'overflow : hidden;' +
'width :' + width + 'px;' +
'}' +
'<\/style>' +
'<\/head><body marginheight="0" marginwidth="0">' +
'<img src="' + url + '" alt="">' +
'<\/body><\/html>'
);
msgWindow.document.close();
return false;
}
 
Hoi,
Plaats in het vervolg uw code tussen codetags
Code:
dat leest een stuk makkelijker.
Ik begrijp uw vraag niet echt, ik heb uw site bekeken met edge en alles werkt, ik kan gewoon de popup vensters openen. Als ik uw code bekijk zie ik ook geen enkele reden waarom het niet zou lukken,de popups zijn gewoon webpagina's
Groet
 
Dag,

Bedankt voor uw reactie...

Zal ik voortaan doen, kan ik daarvoor het beste # of <> gebruiken?

Ik denk dat ik niet duidelijk genoeg was; ik wilde het verhaal ook niet te lang maken.
Als ik vanuit de drie bekende browsers de popup open, dan wordt er een apart vooraf gedefinieerd windowtje geopend, die als het ware bovenop de onderliggende pagina ligt. Als ik dit in Edge doe, dan wordt er gewoon een nieuwe pagina geopend, die ik overigens wel weer prima kan sluiten, maar dat is niet de bedoeling. Ik wil dus graag een apart windowtje hebben waarvan ik vooraf afmeting e.d. heb bepaald.

Maar... het kan ook zijn dat het bij u in Edge wel goed werkt en dan het heb ik een andersoortig probleem. Hierna voor de volledigheid nog even het stukje code dat in de pagina staat.

Code:
<p>Klik <a href="gebit-van-lucy.htm"
onClick="return openWin(this.href+'#special', 800, 500)">hier</a> voor enkele foto's van de bovenkaak van Lucy.</p>

Ik hoop dat nu e.e.a. duidelijk is.

George
 
Hoi,
Dat stukje code had ik al bekeken in de broncode.
En popupjes verschijnen zoals het hoort in edge
 
Wederom dank voor je reactie...

Merkwaardig. Ik heb de instellingen nog even bekeken en pop-ups blokkeren uit gezet, maar dat helpt ook niet. Hebt u enig idee wat het dan wel zou kunnen zijn?
Maar wellicht voor mijn duidelijkheid nog even. U zegt 'zoals het hoort in Edge', maar bedoelt u daarmee, dat de windowtjes in Edge anders verwerkt worden dat in de andere browsers>

Groet, George
 
Hoi,
Neen, de popupjes verschijnen net zoals in de andere browsers.
Ik kan geen fouten ontdekken in uw code, dus ik weet ook niet waar het probleem zit.
 
Blijft merkwaardig... Maar goed, het zij dan maar zo. Wellicht dat het met een of andere update ooit nog goed komt...

Nogmaals dank voor de hulp!!

Groet, george
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan