AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Problem mit XHTML Strict und Javascript
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit XHTML Strict und Javascript

Ein Thema von qb-tim · begonnen am 22. Dez 2007 · letzter Beitrag vom 24. Dez 2007
Antwort Antwort
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#1

Problem mit XHTML Strict und Javascript

  Alt 22. Dez 2007, 11:07
Hi,

ich wollte auf meiner Seite einen JavaScript Newsticker einbauen. Das komische aber ist, dass es nur angezeigt wird, wenn ich XML- und DOCTYPE-Zeile weglasse. (Ich benutzte FireFox)

Mit XML- und DOCTYPE-Zeilen => Funktioniert nicht
XML-Code:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <script type="text/javascript">
   <!--
    var newslist=new Array();
    var cnt=0;
    var curr = "";
    var i=-1;

    newslist[0]=new Array("Tickerbeispiel","link.php")
    newslist[1]=new Array("Tickerinhalt","link.php")
    newslist[2]=new Array("Meldungen mit Links","link.php")

    function newsticker()
    {
    if (i < newslist[cnt][0].length - 1)
    {
      i++;
      temp1 = newslist[cnt][0];   
      temp1 = temp1.split('');   
      curr = curr+temp1[i];
      temp2 = newslist[cnt][1];   
      mtxt.innerHTML = "[size="1"][url='"+temp2+"']"+curr+"[/size][/url]";
      setTimeout('newsticker()',10)
      return;
    }
    i = -1; curr = "";
    if (cnt<newslist.length-1)
      cnt++;
    else
      cnt=0;
    setTimeout('newsticker()',3000)
    }

   //-->

  </script>
  <title>Testseite</title>
 </head>
 <body onload="newsticker();">
  <div style="width:99%">
   

<span id="mtxt" > </span></p>
  </div>
 </body>
</html>
Ohne XML- und DOCTYPE-Zeilen => Funktioniert
XML-Code:
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <script type="text/javascript">
   <!--
    var newslist=new Array();
    var cnt=0;
    var curr = "";
    var i=-1;

    newslist[0]=new Array("Tickerbeispiel","link.php")
    newslist[1]=new Array("Tickerinhalt","link.php")
    newslist[2]=new Array("Meldungen mit Links","link.php")

    function newsticker()
    {
    if (i < newslist[cnt][0].length - 1)
    {
      i++;
      temp1 = newslist[cnt][0];   
      temp1 = temp1.split('');   
      curr = curr+temp1[i];
      temp2 = newslist[cnt][1];   
      mtxt.innerHTML = "[size="1"][url='"+temp2+"']"+curr+"[/size][/url]";
      setTimeout('newsticker()',10)
      return;
    }
    i = -1; curr = "";
    if (cnt<newslist.length-1)
      cnt++;
    else
      cnt=0;
    setTimeout('newsticker()',3000)
    }

   //-->

  </script>
  <title>Testseite</title>
 </head>
 <body onload="newsticker();">
  <div style="width:99%">
   

<span id="mtxt" > </span></p>
  </div>
 </body>
</html>
Ohne XML- und DOCTYPE-Zeilen wird der JavaScript problemlos angezeigt, aber ich muss die XML- und DOCTYPE-Zeilen aus Pflich da haben! Wie kann ich den Javascript zum funktionieren bringen???

PS: Das passiert auch alles mit XHTML Trasitional
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#2

Re: Problem mit XHTML Strict und Javascript

  Alt 22. Dez 2007, 11:31
Ich seh da folgende Fehler:

Das Objekt mtxt ist nicht definiert.
Wenn du auf das DomElement mit der ID "mtxt" zugreifen willst, musst du das mit getelementbyid besorgen.

Die Spitzenklammern sollten escaped werden.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Problem mit XHTML Strict und Javascript

  Alt 22. Dez 2007, 12:46
Zitat von generic:
Die Spitzenklammern sollten escaped werden.
Oder alternativ dazu den Inhalt des <script>-Elements als CDATA deklarieren:
XML-Code:
<script type="text/javascript">
<![CDATA[

//JavaScript goes here

]]>
</script>
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#4

Re: Problem mit XHTML Strict und Javascript

  Alt 24. Dez 2007, 08:20
Hmm... das mit dem CDATA geht auch nicht

Ich habe das jetzt so gemacht:

XML-Code:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <script type="text/javascript" src="scripts/ticker.js"></script>
  <title>Testseite</title>
</head>
<body onload="newsticker();">
  <div style="width:99%">
   

<span id="mtxt" > </span></p>
  </div>
</body>
</html>
Javascript:

Code:
var newslist=new Array();
var cnt=0;
var curr = "";
var i=-1;

newslist[0]=new Array("Tickerbeispiel","link.php")
newslist[1]=new Array("Tickerinhalt","link.php")
newslist[2]=new Array("Meldungen mit Links","link.php")

function newsticker()
{
 if (i < newslist[cnt][0].length - 1)
 {
  i++;
  temp1 = newslist[cnt][0];  
  temp1 = temp1.split('');  
  curr = curr+temp1[i];
  temp2 = newslist[cnt][1];  
  mtxt.innerHTML = "[size="1"][url='"+temp2+"']"+curr+"[/size][/url]";
  setTimeout('newsticker()',10)
  return;
 }
 i = -1; curr = "";
 if (cnt<newslist.length-1)
  cnt++;
 else
  cnt=0;
 setTimeout('newsticker()',3000)
}
Es funzt aber trotzdem nicht!!!

Zitat von generic:
Das Objekt mtxt ist nicht definiert.
Wenn du auf das DomElement mit der ID "mtxt" zugreifen willst, musst du das mit getelementbyid besorgen.
Wie mache ich das? (Tut mir leid, aber JavaScript ist noch neu für micht...)

Zitat von generic:
Die Spitzenklammern sollten escaped werden.
Was meinst du damit???
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz