Externe JS-Dateien in Yii
Bin ich versucht, rufen Sie eine externe JS-Datei aus dem Yii-asset-Ordner, und der source-code zeigt die richtige Datei, aber das JS wird nicht mehr reagiert.
Habe ich das in meiner Datei anzeigen ...
<?php Yii::app()->clientScript->registerScriptFile( Yii::app()->request->baseurl . '/assets/test.js' ); ?>
Und ich weiß, das ist das problem b/c, wenn ich es repliziert in einem nicht-Yii Ordner hat es geklappt, und wenn ich bezogen die online-JS-Datei in Yii es funktionierte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem Ordner "assets" sollten nur verwendet werden, um es veröffentlichen von Dateien von der asset manager. Zum Beispiel, wenn Sie die JS-Datei ist Teil des widget, können Sie es in protected/components/widgets/assets/yourJsFile.js und die Aktiva-manager zu veröffentlichen, wird es automatisch im /assets-Ordner. Lesen Sie hier mehr: Verständnis Vermögen. Wahrscheinlich würden Sie wollen, um Ihre Datei in /js/test.js und arbeiten direkt mit ihm, wenn Sie nicht mit dem asset-manager.
Ich weiß noch nicht, ob dies das Problem ist, wenn die Datei geladen wird. Wenn das nicht hilft, bitte zeigen Sie etwas mehr code - wo und wie Sie geladen, dass js-Datei in den Blick, was in die Datei, etc.
CClientScript::registerScriptFile() kann die <script> - tag in verschiedenen teilen von Ihrer Seite HTML (drei Plätze, um genau zu sein: in den <head> oder am Anfang oder Ende des <body>). Manchmal ist die position wichtig, weil die Reihenfolge von script-tags Angelegenheiten. Ich fand die Bestellung egal, wenn ich verwendet jQuery UI.
Standardmäßig legt das script-tag in den <head>. Wenn Sie spielen mit der position, die Sie finden können, es funktioniert.
Das bisschen code, das Sie zeigen, nicht zeigen Sie keine Probleme. Aber vielleicht möchten Sie ein größeres Beispiel und/oder zeigen Sie, was Sie Tat, arbeitete. Durch die Art und Weise, in Yii-man sollte nicht Dinge, die direkt in dem Ordner "assets". Elemente in der hier veröffentlicht wird, durch die asset manager.