Avatar billede hrole Mester
17. maj 2009 - 20:58 Der er 21 kommentarer og
1 løsning

Problem med javascript i FF

Hej,

Følgende fungerer i IE7, men ikke i FF3.

<script type="text/javascript">
function info(){
var info=window.open('info.php?navn=<?php echo $navn ?>&amp;adresse=<?php echo $adresse ?>','Information','width=600,height=400,toolbar=no,scrollbars=no,locationbar=no,menubar=no,status=no');
}
</script>

... og længere nede på siden kommer:
<a href="java script:info()">Kildeinformation</a>

Informationerne som burde hentes via php fra databasen skrives ikke. Javascript er slået til i FF.
Avatar billede kjeldsted Novice
17. maj 2009 - 21:23 #1
Uden at være sikker på om det hjælper noget ville jeg foreslå at du i stedet for <a href="java script:info()">Kildeinformation</a>

enten skriver <a href="java script:info()">Kildeinformation</a> (ved ikke hvorfor du har et mellemrum :s)

eller <a href="#" onClick="info()">Kildeinformation</a>
Avatar billede kjeldsted Novice
17. maj 2009 - 21:25 #2
Hovsa. Glemte jeg at fjerne det mellemrum. Hm. Men første foreslag er altså følgende (med Javascript i ét ord)

<a href="java script:info()">Kildeinformation</a>
Avatar billede hrole Mester
17. maj 2009 - 21:34 #3
Underligt. Jeg har ikke delt javascript i to ord. Har forsøgt begge dine forslag med informationerne fra databasen hentes stadig ikke.
Avatar billede kjeldsted Novice
17. maj 2009 - 21:46 #4
Den delte det også op ved mig, så dét må skyldes eksperten.

Og jeg skal måske nok lige være helt med. Er problemet at den ikke henter info fra DB i FF men i IE?
Avatar billede hrole Mester
17. maj 2009 - 22:01 #5
præcis!
Avatar billede kjeldsted Novice
17. maj 2009 - 22:04 #6
Eftersom PHP er en serverbaseret preprocessor burde det ikke kunne lade sig gøre.

PHP er fuldstændig ligeglad med hvilken browser du bruger. Den får bare nogle input, og laver disse om til Hypertext. Så den bør bestem hente DB oplysninger i enten alle browsere, eller også slet ingen.
Avatar billede hrole Mester
17. maj 2009 - 22:13 #7
nemlig - men hvor kan problemet være?
Avatar billede kjeldsted Novice
17. maj 2009 - 22:16 #8
Jeg bliver nok nødt til at bede dig copy-paste den HTML kode som browseren udkriver ved funktionen. Altså efter at PHP scriptet er kørt.
Avatar billede hrole Mester
17. maj 2009 - 22:41 #9
Den kommer her:

<!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" xml:lang="da" lang="da">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Information</title>
<style type="text/css" media="screen">
html, body {
    margin:0px;
    padding:0px;
    background-color:#CCCCCC;
    border:0px;
}
* {
    font-family:Geneva, Arial, Helvetica, sans-serif;
}
p {
    font-size:12px;
}
h1 {
    margin-left:10px;
    font-size:14px;
    font-weight:bold;
}
tr, td {
    margin:0px;
    padding:0px;
}
div#info{
    height:auto;
    width:auto;
    margin:2px;
    border:2px solid #999999;
    position:relative;
}
</style>
</head>

<body>
<div id="info">
  <h1>Information:</h1>
  <table width="100%" border="1">
    <tr>
      <td width="15%"><p>Navn:</p></td>
      <td width="85%"><p></p></td>
    </tr>
    <tr>
      <td width="15%"><p>Addresse:</p></td>
      <td width="85%"><p></p></td>
    </tr>
  </table>
  <p align="center"><a href="java script:window.close()">Luk vindue</a></p>
 
</div>
</body>
</html>
Avatar billede kjeldsted Novice
17. maj 2009 - 22:45 #10
Det var faktisk dette jeg mente:

<script type="text/javascript">
function info(){
var info=window.open('info.php?navn=<?php echo $navn ?>&amp;adresse=<?php echo $adresse ?>','Information','width=600,height=400,toolbar=no,scrollbars=no,locationbar=no,menubar=no,status=no');
}
</script>
Avatar billede hrole Mester
17. maj 2009 - 22:57 #11
undskyld jeg misforstod, her er den kode som browseren udskriver ved funktionen:

<script type="text/javascript">
function info(){
var info=window.open("info.php?navn=xxx&amp;adresse=xxx","Information","width=600,height=400,toolbar=no,scrollbars=no,locationbar=no,menubar=no,status=no");
}
</script>
Avatar billede kjeldsted Novice
17. maj 2009 - 23:10 #12
Hm.

Hvorfor skrive du desuden "var info=" foran window open. Skal du bruge det til noget?
Avatar billede hrole Mester
17. maj 2009 - 23:46 #13
næh, det er blot fra en begynderbog i javascript. Har forsøgt at fjerne det men det hjalp ikke.
Avatar billede kjeldsted Novice
17. maj 2009 - 23:59 #14
Hm. Jeg må nok være svar skyldig.

Har testet funktionen info() i hhv. IE7 og FF til PC samt FF og Safari til Mac og dér virker den fint. Så enten er der problemer i funktionen hvor du har indsat xxx, eller også, så, ja. Ved jeg egentlig ikke.
Avatar billede hrole Mester
18. maj 2009 - 00:03 #15
ok, det er i hvert fald meget mystisk at der hentes fra databasen i ie men ikke ff.
Avatar billede kjeldsted Novice
18. maj 2009 - 00:05 #16
Men er du helt sikker på at det gør det? Hvis du kigger på kildekoden i FF så skriver den ikke det samme som kildekoden i IE?
Avatar billede hrole Mester
18. maj 2009 - 00:18 #17
jo, nøjagtig samme kode.
Avatar billede kjeldsted Novice
18. maj 2009 - 00:21 #18
Så hiver den vel også oplysninger i både IE og FF? Men hvad er problemet så?
Avatar billede hrole Mester
18. maj 2009 - 09:31 #19
Kildekoden for siden blabla.php er ens i IE og FF:

<script type="text/javascript">
function info(){
window.open("info.php?navn=xxx&amp;adresse=xxx","Information","width=600,height=400,toolbar=no,scrollbars=no,locationbar=no,menubar=no,status=no");
}
</script>

<a href="java script:info()">Information</a>

Men når der klikkes på ovenstående link og info.php åbnes er resultatet forskelligt i IE og FF. Informationerne trækkes ind i IE, men ikke FF, her er kildekoden:

IE:
<body>
<div id="info">
  <h1>Information:</h1>
  <table width="100%" border="1">
    <tr>
      <td width="15%"><p>Navn:</p></td>
      <td width="85%"><p>xxx</p></td>
    </tr>
    <tr>
      <td width="15%"><p>Addresse:</p></td>
      <td width="85%"><p>xxx</p></td>
    </tr>
  </table>
  <p align="center"><a href="java script:window.close()">Luk vindue</a></p>

</div>
</body>
FF:
<body>
<div id="info">
  <h1>Information:</h1>
  <table width="100%" border="1">
    <tr>
      <td width="15%"><p>Navn:</p></td>
      <td width="85%"><p></p></td>
    </tr>
    <tr>
      <td width="15%"><p>Addresse:</p></td>
      <td width="85%"><p></p></td>
    </tr>
  </table>
  <p align="center"><a href="java script:window.close()">Luk vindue</a></p>

</div>
</body>

Håber det beskrev det tydeligere.
Avatar billede kjeldsted Novice
18. maj 2009 - 11:24 #20
Så ligger problemet i info.php. Desuden bør du ændre funktionen til:

function info(){
window.open("info.php?navn=xxx&adresse=xxx","Information","width=600,height=400,toolbar=no,scrollbars=no,locationbar=no,menubar=no,status=no");
}
Avatar billede hrole Mester
18. maj 2009 - 12:53 #21
Super kjeldsted! Så virker det.

Brug af tegnsæt, specialtegn, kollation mv. har altid forvirret mig.

Smid svar for point!
Avatar billede kjeldsted Novice
18. maj 2009 - 13:00 #22
Jeg burde egentlig også have opdaget det lidt før. Tror måske ikke jeg skal kigge på JS koder mens jeg skriver C++.

Men hér er et svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester