Javascript phänomenischer Fehler wegen html Tag

thehasso

Erfahrenes Mitglied
Hallo zusammen,

ich hab von gestern auf heute 1450 Zeilen Code auseinander genommen, um heraus zu finden weshalb die webgallerie die ich ein gefügt habe nicht funktioniert.

Nun weiß ich woran es liegt jedoch versteh ich überhaupt nicht wieso Javascript probleme hat das so auszuführen wie ich es möchte.

Der Fehler ist sehr sehr komisch und ich bin selbst von mir überrascht wie ich diesen fehler rausgefunden habe.



Und zwar enthält das HTML TAG FOLGENDES:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

So geht es nicht!


entfernt man jedoch das :
Code:
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

sodass es so aussieht:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

so klappt es!


Das komisch ist, ist das ich diesen
Code:
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
abschnitt einfügen muss, wegen den Dreamweaver. Wenn man den nicht einfügt, werden einige Seiten nicht sauber angezeigt....



Weißt jemand was das Problem ist...
Frei mich über eure Feedbacks und bin sehr gespannt was ich machen muss.
Hoffe jemand kennt sich aus..


LG
 
Zuletzt bearbeitet:
Ich weiß nicht so was du meinst mit rendert, also ich hab jetzt gerade bemerkt das es am FIREFOX funktioniert.

Das ist ja häufig so das es in einen funktioniert und in einen nicht... Was hat das bei mir jetzt zu bedeuteten?



LG
 
Hi,

tobee zielt auf den Darstellungsmodus ab - auch als "Doctype-Switch" bekannt.

Mit Angabe der Dokumenttyp-Definition (DTD) zum Doctype laufen die Browser im standardkonformen Modus ("Almost Standards Mode"), und folgen so den W3C-Spezifikationen, ohne sie im proprietären "Quirks Mode".


Was das nun zu bedeuten hat? Dass das Script vermutlich aus alten Zeiten stammt, und seinerzeit vom Autor für den "Quirks Mode" ausgelegt wurde.

Genaueres lässt sich dazu aber erst sagen, wenn das Script eingesehen werden kann.

Übigens sorgst du da in deiner Doctype-Deklaration für einen ordentlichen Kuddelmuddel zwischen "HTML 4.01" und "XHTML 1.0" :)

mfg Maik
 
Hallo,


ich hab jetzt einige gute testverfahren gemacht...


ich hoffe die helfen, also:


Code:
Wenn ich schreibe: 

<!-- XHTML 1.0  gehts nicht (NEIN)-> keine funktion von gallery

<!-- HTML 4.01 dann gehts aber design ändert sich von einigen seiten (JA, aber schlechte design)--> Funktion von Usergallery okay aber schlecte design

<!--!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" (NEIN User Webgallery geht nicht, aber gute Design)-->


dieses hier: "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

ist eine XML Dokument. wenn man die adresse im Explorer aufruft wird eine datei als download zu verfügung gestellt.


Das Skript handelt sich um folgendes:



Code:
<!--Include this rows in your header: START-->
<script type="text/javascript" src="src/skin/classic/skin.js"></script>
<!-- To use Shadowbox in standalone mode, you only need to include the base adapter-->
<script type="text/javascript" src="src/adapter/shadowbox-base.js"></script>
<script type="text/javascript" src="src/shadowbox.js"></script>
<script type="text/javascript">
Shadowbox.loadSkin('classic', 'src/skin'); // use the  'classic' skin
Shadowbox.loadLanguage('en', 'src/lang'); // use the English language
Shadowbox.loadPlayer(['flv', 'html', 'iframe', 'img', 'qt', 'swf', 'wmp'], 'src/player');
window.onload = function()
{Shadowbox.init();};

</script>
<link rel="stylesheet" href="library/svigm.css" type="text/css">

diese Usergallery kann man auch unter googel downloden, dient lediglich um bilder mit javascript anzuzeigen als diashow...


also sobald man 1.0 schreibt gehts nicht kann man als fazit sagen...


LG
 
Moin,

mein Fazit lautet hier nach meinen eigenen Testläufen ganz anders.

Shadowbox funktioniert gleichermaßen unter "HTML 4.01" und "XHTML 1.0", und das unabhängig davon, ob die dazugehörige Dokumenttyp-Definition nun angegeben wird, oder nicht.

Und nochmal: Das hier gibt es überhaupt nicht!
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


Entweder "HTML 4.01 - Transitional":
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

oder "XHTML 1.0 - Transitional":
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


mfg Maik
 
Hallo,


ich hab jetzt nochmal beides versucht was du mir vorgeschlagen hast. Beides geht nicht. sobald man diesen Link einfügt ob "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

oder


"http://www.w3.org/TR/html4/loose.dtd"

gibts keine Funktion mehr.


ohne Link

okayhazsotnd_thumb.jpg


Mit link:

nichtokaytq1acwh0_thumb.jpg



Das ist doch unnormal. Kann es nicht sein, das in dieser dtd irgendwas steht was den javascript behindert zu funktionieren?
 
Zuletzt bearbeitet:
Anstelle der Screenshots solltest du allmählich den Link zu deiner Problemseite nennen :rolleyes:

Denn wie gesagt, in meinen Probeläufen von heute Morgen, spielt die Wahl der Doctype-Deklaration mit oder ohne " DTD" für die Funktionalität des Shadowbox-Scripts überhaupt keine Rolle.

mfg Maik
 
IE trifft hier aber nur auf den aktuellen 8er zu, in seinen beiden Vorgängern laufen beide Versionen.

Vielleicht nimmt er dir im standardkonformen Modus an deinem invaliden XHTML-Code etwas übel?

Siehe hierzu die Validator-Fehlermeldungen.

Das Original-Script funktioniert nämlich unter "XHTML 1.0 - Transitional" im IE8 tadellos, also versteckt sich der Fehler in deinem Code.

mfg Maik
 

Neue Beiträge

Zurück