Avatar billede sjh Nybegynder
17. marts 2007 - 11:28 Der er 13 kommentarer og
1 løsning

Overfør document.title gennem billede (SRC)

Jeg fik hjælp her : http://www.eksperten.dk/spm/767038 til opdatering af noget online..

Nu vil jeg så høre om det kan lade sig gøre at overfør document.title gennem "SRC"
<img src="/online.php?title=document.title" ........>

eller har i andre gode ider ?
Avatar billede roenving Novice
17. marts 2007 - 11:35 #1
Jada, men kender du ikke titlen før den afsendes fra serveren ?-)
Avatar billede sjh Nybegynder
17. marts 2007 - 11:57 #2
Jo da, men det var så jeg ikke behøver at "tænke" på at skulle tilføje title selv i online.. det er nærmest for hvis jeg skulle begynde at ændre title så skal jeg jo flere sider igennem (ren og skær dovenskab) :D
Avatar billede roenving Novice
17. marts 2007 - 12:04 #3
Men det skal du vel også, hvis du skal indsætte et script ?-)
Avatar billede sjh Nybegynder
17. marts 2007 - 12:22 #4
Jo men du ved godt, når man skal ændre 2 steder på en side så går det altid galt de steder hvor man ikke lige kan se at der sker ændringer :D
Avatar billede roenving Novice
17. marts 2007 - 12:24 #5
Hvilken html-version bruger du, doctype ?-)

-- hvis du bruger strict eller xhtml, vil det ikke kunne undgås, at billedet reloades, for så skal det skrives til billedet onload !-)
Avatar billede sjh Nybegynder
17. marts 2007 - 12:39 #6
Nej klart at jeg skal reload billede.. det er jeg klar over..
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
Avatar billede sjh Nybegynder
17. marts 2007 - 12:41 #7
er ved at finde en løsning med at køre det gennem <script src=...>

  $strScript = "var title=encodeURIComponent(document.title);var requist=encodeURIComponent(document.location);";
  $strScript .= "document.write('<img src=\"$_SERVER[PHP_SELF]?title='+title+'&requist='+requist+'\"' ";
  $strScript .= "onload=\"t=this;window.setTimeout(function(){t.src=\'$_SERVER[PHP_SELF]?timeout=\'+new Date().getTime()},5000)\">');";
Avatar billede roenving Novice
17. marts 2007 - 12:49 #8
Du behøver ikke reloade, hvis du bruger document.write:

<script type="text/javascript">
  var title = encodeURIComponent(document.title);
  var loc = window.location.href;//location er jo i forvejen URIEncoded
  document.write("<img src=\"$_SERVER[PHP_SELF]?title=' + title + '&requist=' + loc\">");
</script>
Avatar billede sjh Nybegynder
17. marts 2007 - 13:24 #9
når så fik jeg det til at virke.. smider du et svar roenving..


<?php
  /* online.php */
  require_once("sql.conn.php");
 
  $timout = 10000; /* 10 sekunder */

  if (!isset($_GET["title"]) && !isset($_GET["requist"]) && !isset($_GET["timeout"]))
  {
    header("Content-Type: application/x-javascript");
    echo "var title=encodeURIComponent(document.title);var requist=window.location.href;";
    echo "document.write('<img src=\"$_SERVER[PHP_SELF]?title='+title+'&requist='+requist+'\" ";
    echo "onload=\"t=this;window.setTimeout(function(){t.src=\'$_SERVER[PHP_SELF]?timeout=\'+new Date().getTime()},$timout)\">');";
    exit;
  }

  if (isset($_GET["timeout"]))
  {
    $strSQL = "UPDATE online SET dato=UNIX_TIMESTAMP() WHERE ipaddr=INET_ATON('$_SERVER[REMOTE_ADDR]');";
    mysql_query($strSQL, $sqlConn);
  }

  if (isset($_GET["title"]) && isset($_GET["requist"]))
  {
    $userid = (isset($_SESSION["USER_ID"]))?$_SESSION["USER_ID"]:0;
    $strSQL = "REPLACE INTO online (id, dato, userid, ipaddr, requist, pagetitle)
    (SELECT (SELECT id FROM online WHERE ipaddr=INET_ATON('$_SERVER[REMOTE_ADDR]') LIMIT 1) AS id,
    UNIX_TIMESTAMP() AS dato, $userid AS userid, INET_ATON('$_SERVER[REMOTE_ADDR]') AS ipaddr,
    '$_GET[requist]' AS requist, '$_GET[title]' AS pagetitle);";
   
    mysql_query($strSQL, $sqlConn);
  }

  header("Content-Type: image/gif");
  echo base64_decode('R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAIBTAA7'); /* gif billede 1 x 1 pixls */
  /* online.php */
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <title>Online side</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  </head>
  <body>
    <script type="text/javascript" src="online.php"></script>
  </body>
</html>
Avatar billede roenving Novice
17. marts 2007 - 13:35 #10
Velbekomme '-)
Avatar billede sjh Nybegynder
17. marts 2007 - 13:39 #11
Ja nu virker det bare ikke i firefox :(
Avatar billede sjh Nybegynder
17. marts 2007 - 13:39 #12
hmmm jo det gør :D
Avatar billede roenving Novice
17. marts 2007 - 13:42 #13
?-)

-- og tak for point ;~}
Avatar billede sjh Nybegynder
17. marts 2007 - 14:01 #14
Ja selv tak for hjælpen, det virker skide godt :D
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