• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

script wird nicht angezeigt

Revenget

Neues Mitglied
hey :)

ich hatte vor, bei meinem blog ein script einzubauen, was jedes mal, wenn die seite aufgerufen wird ein neues bild einblendet. also einen zufallsgenerator. den hab ich soweit auch zsm und auf dem pc als html datei klappt das auch alles. als ich den code jedoch in die html meines blogs eingefügt hab, wurde das script nicht mehr angezeigt. hoffe mir kann jemand dabei helfen :)

javascript auf dem pc:
Code:
<html>
<head>
<title>blablabla</title>
</head>
<body>
<a href="file:///C:/Users/Maik/Desktop/mysy v3.0/header/header.html">
<script type="text/javascript">
var bilder = new Array(
    'https://lh6.googleusercontent.com/-Hd1odk5de6E/TlaJaek24oI/AAAAAAAAAPM/7Mggd8ljDnc/0051-Anime-Girl-Wallpaper.jpg',
    'https://lh6.googleusercontent.com/-FfaCFo23zXE/Tlkztf1bn3I/AAAAAAAAAPU/SeVyDN_ufoc/header1.png',
    'https://lh4.googleusercontent.com/-dcjXvtxtWYQ/TlkzuwozShI/AAAAAAAAAPY/nFRZZAoFZZE/header2.png',
    'https://lh4.googleusercontent.com/-JhavDoCG20M/Tlkzy8inWnI/AAAAAAAAAPk/zS1HBHsnFfU/header3.png',
    'https://lh6.googleusercontent.com/-Zi5QwVCmj7Y/TlkzwHhMjJI/AAAAAAAAAPc/Qkk6k1c22vw/header4.png',
    'https://lh4.googleusercontent.com/-e-tZibcvS0g/TlkzzCce2eI/AAAAAAAAAPo/nZnrJigcKK8/header5.png',
    'https://lh4.googleusercontent.com/-VV8u7YSatFM/Tlkzy_K_vUI/AAAAAAAAAPg/son3EkOKGow/header6.png',
    'https://lh4.googleusercontent.com/-Gj03A7bzvxE/Tlkzz8HzhKI/AAAAAAAAAPs/zGTAv8ci740/header7.png',
);
var anzahl = bilder.length;
var nr = Math.floor(Math.random()*7);
document.write('<p><img src="'+bilder[nr]+'" width="1000" height="250" alt="" /></p>');
</script>
<noscript>
<p><img src="https://lh6.googleusercontent.com/-Hd1odk5de6E/TlaJaek24oI/AAAAAAAAAPM/7Mggd8ljDnc/0051-Anime-Girl-Wallpaper.jpg" width="1000" alt="" /></p>
</noscript>
</a>
</body>
</html>


code auf dem blog:
Code:
<a expr:href='data:blog.homepageUrl'>
<div id='header-inner'>
<script type='text/javascript'>
var bilder = new Array(
    'https://lh6.googleusercontent.com/-Hd1odk5de6E/TlaJaek24oI/AAAAAAAAAPM/7Mggd8ljDnc/0051-Anime-Girl-Wallpaper.jpg',
    ';https://lh6.googleusercontent.com/-FfaCFo23zXE/Tlkztf1bn3I/AAAAAAAAAPU/SeVyDN_ufoc/header1.png',
    'https://lh4.googleusercontent.com/-dcjXvtxtWYQ/TlkzuwozShI/AAAAAAAAAPY/nFRZZAoFZZE/header2.png',
    'https://lh4.googleusercontent.com/-JhavDoCG20M/Tlkzy8inWnI/AAAAAAAAAPk/zS1HBHsnFfU/header3.png',
    'https://lh6.googleusercontent.com/-Zi5QwVCmj7Y/TlkzwHhMjJI/AAAAAAAAAPc/Qkk6k1c22vw/header4.png',
    'https://lh4.googleusercontent.com/-e-tZibcvS0g/TlkzzCce2eI/AAAAAAAAAPo/nZnrJigcKK8/header5.png',
    'https://lh4.googleusercontent.com/-VV8u7YSatFM/Tlkzy_K_vUI/AAAAAAAAAPg/son3EkOKGow/header6.png',
    'https://lh4.googleusercontent.com/-Gj03A7bzvxE/Tlkzz8HzhKI/AAAAAAAAAPs/zGTAv8ci740/header7.png',
);
var anzahl = bilder.length;
var nr = Math.floor(Math.random()*7);
document.write('<p><img alt='' height='250' src='&apos;+bilder[nr]+&apos;' width='1000'/></p>');
</script>
<noscript>
<p><img alt='' src='https://lh6.googleusercontent.com/-Hd1odk5de6E/TlaJaek24oI/AAAAAAAAAPM/7Mggd8ljDnc/0051-Anime-Girl-Wallpaper.jpg' width='1000'/></p>
</noscript>
</div>
</a>

css zu der id 'header-inner':
Code:
#header-inner {
  width:1000px;
  height:250px;
  z-index:1;
  position:absolute;
  }

und ich hoffe, dass ich die frage jetzt nicht zum 100000x gestellt hab ^^"
 
src='&apos;+bilder[nr]+&apos;'

Irgendwo wird dein Apostroph in &apos; umgewandelt
Wenn du es nicht findest, wo, dann würde ich eine Variable definieren
sApos=String.fromCharCode(??); //musst gucken was ?? ist
und statt src="'+bilder[nr]+'"
src = sApos + "bilder[nr]" + sApos
schreiben
 
ja, dass ist leider eine automatische funktion von blogger. der wandelt alle zeichen, die er nicht zuordnen kann in codes um...

ehm, kannst du mir evtl sagen, wo ich diese variable wie einfügen muss? ich hab nämlich eigentlich null plan von javascript. ich arbeite meist mit css und html. wenn ich java brauch, dann such ich im inet und füg es ein... was diesesmal ja nicht geklappt hat...
 
ASCII-Zeichentabelle sagt Apostroph=hex39=57
also vor var bilder dann
var sApos=String.fromCharCode(57);
und überall wo du einen Apostroph schreiben willst, da machst beispielsweise statt
document.write "'abc'"
dann
document.write = sApos + "abc" + sApos
Probier es erst lokal aus und wenn das läuft, dann kopier es auf den Server.

Nachtrag: Seh ich eben erst, der macht auch aus doppelten die einfachen, also aus width="1000" wird width='1000', also schreib es am Besten so um, dass es schon lokal nur einfache hat
 
Zuletzt bearbeitet:
ich hab grad ersteinmal ausprobiert, alle doppelten gegen ein einfaches zu tauschen, danach wurd nichts mehr angezeigt... und das mit der variablen blick ich leider nicht ganz, wie ich das bei document write einfügen müsste:

bei mir wurde aus dem:
Code:
document.write('<p><img src="'+bilder[nr]+'" width="1000" height="250" alt="" /><\/p>');

das hier:
Code:
document.write = sApos + <p><img src=''+bilder[nr]+'' width='1000' height='250' alt='' /><\/p> + sApos;

und ich denke da sind ne menge fehler ^^""
 
Ankommen soll doch <p><img src='url-von-bild-nr' width='1000' height='250' alt='' /></p> oder als Javascript
HTML:
var sApos = "'";
var sHTML = "<p><img src='url-von-bild-nr' width='1000' height='250' alt='' /></p>";
document.write(sHTML);

sHTML kann ich auch schreiben als

HTML:
var sHTML = "<p><img src=" + "'" + bilder[nr] + "'" + "width=" + "'" + "1000" + "'" + "height=" + "'" + "250" + "'" +  "alt=" + "'" + "'" + "/></p>";

oder als

HTML:
var sHTML = "<p><img src=" + sApos + bilder[nr] + sApos + "width=" + sApos + "1000" + sApos + "height=" + sApos + "250" + sApos +  "alt=" + sApos + sApos + "/></p>";

Probier das auf dem Client aus und setz einen alert(sHTML) rein bis es stimmt. Sicher geht es auch einfacher, aber so sollte es auf jeden Fall gehen
 
ich habs jetzt mal eingefügt, das ganze sah dann so aus:

Code:
<script type='text/javascript'>
var bilder = new Array(
    'https://lh6.googleusercontent.com/-Hd1odk5de6E/TlaJaek24oI/AAAAAAAAAPM/7Mggd8ljDnc/0051-Anime-Girl-Wallpaper.jpg',
    'https://lh6.googleusercontent.com/-FfaCFo23zXE/Tlkztf1bn3I/AAAAAAAAAPU/SeVyDN_ufoc/header1.png',
    'https://lh4.googleusercontent.com/-dcjXvtxtWYQ/TlkzuwozShI/AAAAAAAAAPY/nFRZZAoFZZE/header2.png',
    'https://lh4.googleusercontent.com/-JhavDoCG20M/Tlkzy8inWnI/AAAAAAAAAPk/zS1HBHsnFfU/header3.png',
    'https://lh6.googleusercontent.com/-Zi5QwVCmj7Y/TlkzwHhMjJI/AAAAAAAAAPc/Qkk6k1c22vw/header4.png',
    'https://lh4.googleusercontent.com/-e-tZibcvS0g/TlkzzCce2eI/AAAAAAAAAPo/nZnrJigcKK8/header5.png',
    'https://lh4.googleusercontent.com/-VV8u7YSatFM/Tlkzy_K_vUI/AAAAAAAAAPg/son3EkOKGow/header6.png',
    'https://lh4.googleusercontent.com/-Gj03A7bzvxE/Tlkzz8HzhKI/AAAAAAAAAPs/zGTAv8ci740/header7.png',
);
var anzahl = bilder.length;
var nr = Math.floor(Math.random()*7);
var sApos = "'";
var sHTML = "<p><img src=" + sApos + bilder[nr] + sApos + "width=" + sApos + "1000" + sApos + "height=" + sApos + "250" + sApos +  "alt=" + sApos + sApos + "/></p>";
document.write(sHTML);
</script>
<noscript>
<p><img alt='' src='https://lh6.googleusercontent.com/-Hd1odk5de6E/TlaJaek24oI/AAAAAAAAAPM/7Mggd8ljDnc/0051-Anime-Girl-Wallpaper.jpg' width='1000'/></p>
</noscript>

jedoch bekomm ich als fehlermeldung, dass der img-code nicht vorschriftsgemäß geschlossen ist. also mit > oder />

nachtrag: bei der liste mit den url's wurden alle ' in den zugehörigen code umgewandelt. das macht blogger nur, wenn die zeichen außerhalb eines tags stehen...
 
Bist meinem Tipp gefolgt und hast erst mal mit einen alert ausgegeben, um zu sehen, welchen Wert sHTML hat??? Eventuell musst den Slash noch mit Backslash escapen mit "\/><\/p>" im letzten Token.
 
okay, jetzt bin ich total verwirrt... was ist ein alert und was soll ich wo wie machen? ich kenn mich damit noch nicht so aus ^^"
 
mannomanno, du solltest erst doch mal einen Javascript Grundkurs machen, bevor du an komplexere Probleme gehst. Google mal nach Javascript alert und die Änderungen mit dem Escape habe ich genau beschrieben, ich mag nun echt nimmer, denn auf alert habe ich schon oben hingewiesen. Lies auch mal hier im Forum unter Wiki die Artikel zu Fehlersuche.
 
das Problem ist wohl eher, das sich das script innerhalb eines a-Tags befindet...so sah es zumindest im ersten post aus:

Code:
[COLOR=#ff0000]<a href="file:///C:/Users/Maik/Desktop/mysy v3.0/header/header.html">[/COLOR]<script type="text/javascript">var bilder = new Array(    'https://lh6.googleusercontent.com/-Hd1odk5de6E/TlaJaek24oI/AAAAAAAAAPM/7Mggd8ljDnc/0051-Anime-Girl-Wallpaper.jpg',    ...    ...</script><noscript><p><img src="https://lh6.googleusercontent.com/-Hd1odk5de6E/TlaJaek24oI/AAAAAAAAAPM/7Mggd8ljDnc/0051-Anime-Girl-Wallpaper.jpg" width="1000" alt="" /></p></noscript>[COLOR=#ff0000]</a>[/COLOR]
 
Zurück
Oben