Probleem popupvenster

Status
Niet open voor verdere reacties.

antonwas

Gebruiker
Lid geworden
11 nov 2006
Berichten
254
Beste programmeurs,

Voor mij ligt het boek JavaScript de basis van Ton Haarmans. Ik wil een beetje wegwijs worden in Javascript. Nu loop ik tegen het meest vreemde probleem aller tijden aan. Komt 'ie:

Ik ben in hoofdstuk 3 (gaat over popups) Daar staat de volgende code. Deze code zorgt ervoor dat er een popup venster wordt geopend in het midden van het browservenster, zonder dat je verschrikkelijk veel jacvascriptcode krijgt in het element a

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>center3.html</title>
<script type="text/javascript">
function popupWin(link,attribs) {
    var popupWin = null;
    popupWin = window.open(link,'winPopup',attribs);
}
function popupWindows() {
    if(!document.getElementsByTagName) {
         return;
    }
    var scrW = screen.availWidth;
    var scrH = screen.availHeight;
    var anchors = document.getElementsByTagName("a");
    for (var i = 0; i < anchors.length; i++) {
         var anchor = anchors[i];
         var linkDest = anchor.getAttribute("href");
         var relIndex = anchor.getAttribute("rel");
         var relSplit = relIndex.split("|");
         var windowAttributes = "";
         if(relSplit[0] == "popup") {
              if (relSplit[1] > scrW) {
                 pW = scrW - 10;
              }
              else {
                 pW = relSplit[1];
              }
              if (relSplit[2] > scrH) {
                 pH = scrH - 40;
              }
              else {
                 pH = relSplit[2];
              }
              scrX = (scrW - pW - 10) * .5;
              scrY = (scrH - pH - 30) * .5;
              var windowAttributes = "width=" + pW + ",height=" + pH + ",left=" + scrX + ",top=" + scrY + ",screenX=" + scrX + ",screenY=" + scrY;
              windowAttributes += ",location=" + relSplit[4] + ",resizable=" + relSplit[4] + ",scrollbars=" + relSplit[4];
              anchor.setAttribute("href", "javascript:popupWin('" + linkDest + "','" + windowAttributes + "')");
         }
    }
}
window.onload = popupWindows;
</script>

</head>
<body>
<a href="http://www.google.com/" rel="popup|600|400|0|1">Google</a>
</body>
</html>

Deze code komt uit een van de gedownloade bestanden van de website die bij het boek hoort. het gekke is nu dat als ik het originele bestand op in IE 7.0 op Vista open het wel gewoon werkt, maar wanneer ik de code uit het originele bestand letterlijk copieer (Ctrl + A en daarna Ctrl + C en daarna Ctrl + V in een leeg kladblok bestand dan doet ie het plotseling niet meer. In Firefox werkt alles wel. Dat is toch wel heel erg raar. Weet iemand misschien wat?
 
Ik ken Vistas kladblok niet, maar misschien past het de encoding aan -Smart Quotes of iets dergelijks. Zoals Microsoft Word de aanhalingstekens " omzet in een ander soort “, wat taalkundig misschien goed is, maar in code niet.
 
Ja howr de aap is uit de mouw. Op een XP computer werkt het wel gewoon.

In ieder geval bedankt, voor de tip
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan