Javascript Nur Auf Bestimmter Seite Laden

Hallo zusammen,

ich beginne gerade mich mit YII zu beschäftigen. Ich möchte ein JavaScript nur auf einer bestimmten Seite laden und ausführen.

Wie mache ich das am besten? Ich werde auf jeden Fall ein Modul oder Plugin benutzen.

Kann ich mit irgendwie am aktuellen Pfad orientieren?

Gruß Apfel007

Hallo Apfel und willkommen :)

CClientScript ist dein Freund. Mit registerScript() kannst du ein javascript-Schnipsel direkt auf einer Seite einbetten. Für externe javascript-Files verwendest du registerScriptFile().

Grüsse dito

Hallo dito,

danke für den Hinweis, aber ich glaube ich meinte etwas anderes.

Weil ich nicht die Möglichkeit habe, etwas auf der "CoreSeite" einzubetten. Das Module soll "lediglich" eine bestimmte Seite modifizieren, bzw. ein JS auf der Seite ausführen. Dies sollte möglich sein, ohne dass ich die Seite "modifizieren" muß,

Beispiel:

url: page1 -> JS alert("Dies ist Seite 1 - woanders gibt es keinen Hinweis")

CClientScript ist doch lediglich zum registrieren von JS? Richtig? Nicht zum aufrufen?

Was genau bedeutet die core seite nicht zu modifizieren? Was spricht dagegen das JS direkt in das betreffnde view einzubinden? Für mich klingts fast so, als gäbe es hier ein designtechnisches Problem (korrigier mich wenn ich falsch liege :) ).

Module in Yii sind für deinen Zweck aber auf jeden Fall nicht geeignet. Ein Modul ist sozusagen eine kleine Applikation in der Applikation (Lies mich).

registerScript() bindet einfach ein Schnipsel JS-Code in deine Seite ein. Wenn du z.B. in einem view


Yii::app()->clientScript->registerScript('test', 'alert("hallo welt!");');

einfügst, wird beim aufrufen eben dieser view ein alert angezeigt.