afarensis
Verenigingslid
- Lid geworden
- 12 jul 2011
- Berichten
- 607
- 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;
}
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;
}