Toon posts:

Javascript in een Javascript laden

Pagina: 1
Acties:
  • 100 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoi allemaal,

Ik heb een probleem waar ik al een tijdje tegen aan werk.
Ik moet een javascriptje ontwikkelen waarbinnen een javascript wordt geladen. De bedoeling van deze script is om het javascript crossdomain te laten werken. De topbar bestaat uit een logo en een menu die samen op een centrale plek worden geplaatst. Op iedere site komt deze bar te staan bestaande uit verschillende domeinen.

Er moet een logo worden getoond van omroep.nl. Het logo bevat een uitklapmenu.

Het script werkt op zich wel alleen in zowel IE als in Firefox zijn er kleine problemen.
IE: Bij allereerste bezoek wordt er niets getoond. Daarna wordt het logo wel getoond.
Firefox: Logo wordt getoond. Het probleem hier is dat de pagina niet volledig wordt geladen en contact probeert te maken met de server van omroep.nl.

Onderstaande script heb ik op dit moment:
blaat.js

code:
1
2
3
4
5
6
7
function fGoBar(sTopFrame,sMainFrame) {
var sStyle = '/include/pomenu.css';
var sLogo = '/GFX/pologo.gif';
var sHTML = '<html><head><title>menu</title><link rel="stylesheet" type="text/css" href="'+sStyle+'"></head><body><div id="topmenu"><form><a href="" id="home" title="home"></a><a href="" id="tv" title="tv"></a><a href="" id="radio" title="radio"></a><a href="" id="internet" title="internet"></a><script language="JavaScript" type="text/javascript">var PoFrame = "'+sTopFrame+'";var PoContentFrame = "'+sMainFrame+'";</script><script language="JavaScript" type="text/javascript" src="http://p.omroep.nl/menu/scripts/pomenu.js"></script>';
document.write(sHTML);
return;
}


blaat.html
code:
1
2
3
4
5
6
7
8
<html>
<head>
<script language="JavaScript" type="text/javascript" src="/blaat.js"></script>
</head>

<body onload="fGoLogo('top','main');">Hier wordt het menu geladen....
</body>
</html>

Wat doe ik fout?? Ik hoop dat het verhaal duidelijk is.

ALvast bedankt!

[ Voor 38% gewijzigd door Verwijderd op 17-05-2005 15:35 ]


  • r0bert
  • Registratie: September 2001
  • Laatst online: 26-04 17:38
'<script language="JavaScript" type="text/javascript">'

veranderen in
'<scr' + 'ipt language="JavaScript" type="text/javascript">'

en zelfde voor '</script>' ?
edit: hmm.. je sluit je <script ..>-tag in je voorbeeld niet eens af.. dat moet natuurlijk..
ik ga nog ss goed lezen wat je nu eigenlijk allemaal aan het doen bent :?

Na een onload je document.write uitvoeren, wist je gehele document toch?


Volgens mij snap ik je hele bedoeling niet..

Waarom zet je dat pomenu.js en de CSS enzo niet gewoon in je head?

[ Voor 120% gewijzigd door r0bert op 17-05-2005 15:38 ]


Verwijderd

Topicstarter
Volgens mij snap ik je hele bedoeling niet..

Waarom zet je dat pomenu.js niet gewoon in je head?
Omdat het bestand in de body wordt geladen. Ook wordt er met frames gewerkt. het logo moet staan in de top topframe en het menu moet worden geladen in de main frame, zodat hij goed zichtbaar wordt. Dit werkt op dit moment nu. Daarnaast moet het bevat het menu variabelen die vast komen te staan op een centrale plek. Via 1 javascript include, moet het menu en logo worden getoond.

  • AxiMaxi
  • Registratie: December 2000
  • Laatst online: 28-04 16:00
Een JavaScript inladen met JavaScript kan in feite in.
Wat je wel kan doen in een DOM setje maken dat een <script> invoegt in je document.

Waarom zet je trouwens je JS niet gewoon in het HTML, inplaats van in weer een ander script?

[Hier had mijn handtekening kunnen staan]


Verwijderd

Topicstarter
Wanneer ik het javascript in de html zet werkt het niet, omdat ik crossdomain bezig ben. De topbar waar het logo inzit en wordt aangeroepen door middel van een javascript, komt van een ander domain dan de rest van de website.Hierdoor werkt het script niet goed.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:21

crisp

Devver

Pixelated

JavaScript:
1
document.write('<script type="text/javascript" src="somescript.js"><\/script>');

oftewel: escape je forward slashes; dit wordt ook nog wel eens gedaan:
JavaScript:
1
document.write('<script type="text/javascript" src="somescript.js"><\/scr' + 'ipt>');

Uitleg: je browser ziet de </script> en denkt dat daar het scriptblok ophoudt....

Intentionally left blank


  • AxiMaxi
  • Registratie: December 2000
  • Laatst online: 28-04 16:00
Ik attendeer de lezers van bovenstaand berichtje op het afwisselend gebruik van " en ' (als je de slash niet kent, is dit ook een punt van aandacht).

Overigens vind ik een DOM-methode fraaier...

[Hier had mijn handtekening kunnen staan]


Verwijderd

Topicstarter
De pagina wordt nu volledig geladen. Alleen in firefox wacht hij nog op een connectie met omroep.nl, maar is wel volledig geladen. Hoe kan dit?

[ Voor 69% gewijzigd door Verwijderd op 18-05-2005 15:23 ]

Pagina: 1