Javascript conflict door gebruik 2 scripts

Status
Niet open voor verdere reacties.

cjrademakers

Nieuwe gebruiker
Lid geworden
1 apr 2011
Berichten
2
Ik heb een uitdaging bij het gebruik van 2 scripts in de head sectie van de pagina. Het dikkegedrukte gedeelte in de code hieronder is het tweede script. Op de manier hoe het nu staat werkt maar 1 script. Dat zit hem in het javacript, hoe kan ik dit oplossen door bijvoorbeeld javacript1 te maken?

Bedankt alvast!


<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link href="nivo-slider.css" rel="stylesheet" type="text/css" />
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="layout.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
<script src="js/jquery-1.4.4.min.js" type="text/javascript"></script>
<script src="js/jquery.nivo.slider.js" type="text/javascript"></script>
<script src="js/maxheight.js" type="text/javascript"></script>
<script src="js/rollover.js" type="text/javascript"></script>
<script src="js/scripts.js" type="text/javascript"></script>
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>

<head>
 
Misschien is een betere vraag, heb je alle 3 de libraries nodig?!


(heb verder geen verstand van jsLibs, dus je zult antwoord moeten afwachten)
 
@That Guy ik heb niet heel veel verstand van progammeren, slecht een beetje.

Integennstelling tot wat ik dacht zit het niet in het javascript benaming maar in de regel
<script src="js/prototype.js"></script>

Deze zorgt ervoor dat de lightbox werkt, maar daardoor werk me afbeelding slider bijvoorbeeld niet meer.

Is er een manier om dreamweaver te vertellen dat dat een nieuwe script ofzo is?
 
Hoi cjrademakers,
Voor zover ik weet (ook geen deskundige op dit gebied), rammelen de javascript-libraries als "jquery" e.d. door je hele html, om daarin dingen naar hun hand te zetten.
Als dat conflicteert met een ander script dat ook dwars door alle html-elementen gaat, zou je in de scripts zelf moeten ingrijpen om ze los te koppelen. :rolleyes:

Nu geldt dat als (conflicterende) scripts op aparte pagina's staan, ze elkaar niet kunnen beïnvloeden.

Als je alle scripts nodig hebt, zou daarom een workaround kunnen zijn, om bv. een element als een afbeelding slider in een <iframe> of <object> te zetten.
  • Dan kan de ene partij javascript op de hoofdpagina blijven werken (zonder de scripts voor de slider),
  • en in de pagina van het <iframe> of <object> haak je dan de slider scripts aan zonder de rest.
Is dat iets?

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
Hoewel ik moet toegeven dat csshunter's idee een (waarschijnlijk) werkende oplossing is (en erg creatief) moet ik wel even kwijt dat een iframe/object gebruiken om conflicterende scripts te fixen een beetje een 'vinger in de dijk' stoppen is. Besides, iframes...


Ik heb eventjes wat rondgezocht en vond oa dit:

Nogmaals, ik denk dat je zeker wel een jQuery versie van de scripts die prototype/scriptaculous nodig hebben kunt vinden (of andersom). Dat zou het probleem ook oplossen (en je pagina 'beter' maken).
 
... 'vinger in de dijk' ... Besides, iframes...
Helemaal gelijk, 't is een lapmiddel voor als 't niet lukt om in de scripts zelf in te grijpen om ze los te koppelen. (En voor een afbeeldingen-slider leek 't me wel te doen zonder dat je in de benauwenissen van een iframe verstrikt raakt.)

Maar het mooist is natuurlijk een aanvullend jQuery.noConflict() scriptje, waarmee de zaken principieel worden aangepakt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan