Deze code werkt niet met Safari

Pagina: 1
Acties:

  • [FSF]Moses
  • Registratie: September 2003
  • Laatst online: 05-10-2025
Ik heb al geruime tijd een stukje script op mijn site staan wat met IE en FireFox goed werkt. De popup met het plaatje komt keurig tevoorschijn.
Helaas blijkt het niet te werken met Safari 1.2.4 version 125.12. Popup verschijnt maar het plaatje niet.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<script>
PositionX = 50;
PositionY = 50;
defaultWidth  = 800;
defaultHeight = 600;
var AutoClose = true;
if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}
var optNN='scrollbars=no,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY;
var optIE='scrollbars=no,width=150,height=100,left='+PositionX+',top='+PositionY;
function popImage(imageURL,imageTitle){
if (isNN){imgWin=window.open('about:blank','',optNN);}
if (isIE){imgWin=window.open('about:blank','',optIE);}
with (imgWin.document){
writeln('<html><head><title>Loading...</title><style>body{margin:0px;}</style>');writeln('<sc'+'ript>');
writeln('var isNN,isIE;');writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
writeln('isNN=(navigator.appName=="Netscape")?1:0;');writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
writeln('function reSizeToImage(){');writeln('if (isIE){');writeln('window.resizeTo(100,100);');
writeln('width=100-(document.body.clientWidth-document.images[0].width);');
writeln('height=100-(document.body.clientHeight-document.images[0].height);');
writeln('window.resizeTo(width,height);}');writeln('if (isNN){');       
writeln('window.innerWidth=document.images["George"].width;');writeln('window.innerHeight=document.images["George"].height;}}');
writeln('function doTitle(){document.title="'+imageTitle+'";}');writeln('</sc'+'ript>');
if (!AutoClose) writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()">')
else writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()" onblur="self.close()">');
writeln('[img]'+imageURL+'[/img]</body></html>');
close();        
}}
</script>


De code wordt op deze manier aangeroepen

code:
1
2
3
4
<a HREF="javascript:popImage('../galleries/lum4ever/lm4evr01.jpg','')">
<center>
[img]"../images/thumbnails/lm4evr01.gif"[/img]
</center>


Aangezien er in mijn kennissenkring niemand met een Mac is kan ikzelf dit niet testen.

Hier nog even de url naar de pagina om het een en ander live te kunnen testen zoals het nu werkt:

http://lum-chan.bbox.org/indexes/index4.html
Het eerste plaatje links bovenin heeft een enigzins gewijzigde aanroep.

Wat gaat er fout, of is deze code alleen maar werkbaar bij IE en NN(Mozilla) Clients?

Alvast bedankt!

Moses


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
ehh, als ik het ff snel bekijk dan checked je scriptje of de browser I.E. of Netschaap is en opent alleen bij één van die twee browsers een nieuw venster. Safari zal wel een andere appName meegeven...

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • [FSF]Moses
  • Registratie: September 2003
  • Laatst online: 05-10-2025
Dat is eigenlijk vreemd, in Safari opent het schermpje zich wel maar verschijnt de inhoud niet... Is er iemand met een Mac en Safari die dat ook even zou kunnen bekijken?

Moses


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:34

crisp

Devver

Pixelated

Probeer het eens met een absoluut URL voor je plaatje, of definieer een BASE url in je popup.

Browsersniffing is inderdaad vragen om problemen; er zijn wel meer browsersmaken naast Netscape en IE en die piesen nu waarschijnlijk allemaal naast de pot. Het kan zijn dat Safari, net als Opera, zich default voordoet als IE, maar als het even kan probeer dit soort browsersniffing dan te voorkomen.

Intentionally left blank


  • [FSF]Moses
  • Registratie: September 2003
  • Laatst online: 05-10-2025
@crisp: Je bedoelt de absolute url van het plaatje zoals in het eerste plaatje van de link in mijn startpost?

code:
1
2
3
4
<a HREF="javascript:popImage('http://lum-chan.bbox.org/galleries/lum4ever/lm4evr01.jpg','')">
<center>
[img]"../images/thumbnails/lm4evr01.gif"[/img]
</center>


ipv

code:
1
2
3
4
<a HREF="javascript:popImage('../galleries/lum4ever/lm4evr01.jpg','')">
<center>
[img]"../images/thumbnails/lm4evr01.gif"[/img]
</center>


Of begrijp ik het nu verkeerd?

Moses


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:34

crisp

Devver

Pixelated

Ja, gewoon om te testen (ik beschik hier ook niet over Safari hoor, dus het is een wild guess)

Intentionally left blank


  • [FSF]Moses
  • Registratie: September 2003
  • Laatst online: 05-10-2025
Oke ik heb het op de website al wat aangepast, en de persoon in kwestie gemailed. We zullen zien wat het opleverd. Als ik meer weet ongeacht de uitslag dan meld ik me hier weer.
iig hartstikke bedankt voor je hulp zover.

Moses


  • [FSF]Moses
  • Registratie: September 2003
  • Laatst online: 05-10-2025
Helaas, het werkte niet. Jammer.Aangezien ik niet zo heel erg goed ben met java-script zal ik toch iets anders moeten verzinnen. Plaatje in een nieuw window openen (target="image" bijvoorbeeld) vind ik geen mooi idee.

Heeft iemand miischien een idee zodat het werkt zonder dat 'browsersniffing'? Ik wil het graag browser-onafhankelijk laten zijn. Misschien moet ik het met een cgi-script eens proberen? Ik heb dat op een andere site eens gezien en dat werkte zoals men beweerde in alle browser varianten.

I'll give it a try :)

Moses


  • bolleh
  • Registratie: Juli 2001
  • Laatst online: 14:23
ik heb safari
osx 10.3.8
safari 1.2.4 (v125.12)

en ik krijg je foto in de popup gewoon te zien, het is alleen wel een klote script in safari aangezien het window net te klein is en hij eerst in het midden van scherm staat, dan naar links boven gaat en dan naar zn uiteindelijke positie

de hoeveelheid code die je gebruikt staat imho ook niet in verhouding tot wat je gedaan wilt hebben, veel te veel script imho

<edit>
zelf gebruik ik dit script op mijn website:
HTML:
1
<a href="javascript:drawings('drawings/f22-1.html','600','214')">


JavaScript:
1
2
3
4
5
6
7
function drawings(url,x,y)
{
day = new Date();
id = day.getTime();

eval("page" + id + " = window.open(url, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width="+ x+ ",height="+ y+ "');");
}

werkt bij mij perfect in zowel safari als firefox als internet explorer op de mac en voordat ik geswitched was werkte het ook op mijn pc op ie en firefox :)

[ Voor 40% gewijzigd door bolleh op 25-04-2005 13:56 ]

Pagina: 1