darthvaderii
Goto Top

IIS6 für javascript konfigurieren?

js-files werden nicht ausgeführt

Hallo zusammen!

Ich habe einen Windows Server 2003 - 64Bit mit IIS6.
Darauf habe ich den Kampf für die PHP-Integration im IIS bereits gewonnen und das installierte wbb2.3.4 Board läuft soweit auch problemlos.
Jedoch werden die javascripts nicht ausgeführt. Die entsprechenden Dateien *.js liegen offenbar im richtigen Verzeichnis namens js, werden durch die php-Dateien aber nicht ausgeführt. Fehlermeldung am Client: Objekt erwartet.

Ich hab ja irgendwie den Verdacht, dass ich dem IIS noch sagen muss, dass er auch gefälligst *.js Dateien verarbeiten soll, also so ähnlich wie bei den *.php Dateien ja auch.
Stimmt das? und wenn ja, wie mach ich das?

Zum Boardproblem: Wenn ich einen neuen Beitrag verfassen möchte, dann kann ich dort die Schaltflächen für das Einfügen von BBCodes nicht nutzen. Anstatt, dass sich ein Requester zu Eingabe öffnet passiert nix. face-sad

Ich bedanke mich schon mal für Eure Mühe und wünsche noch einen schönen Tag!

Markus

Content-Key: 33513

Url: https://administrator.de/contentid/33513

Ausgedruckt am: 28.03.2024 um 17:03 Uhr

Mitglied: Tundra
Tundra 02.06.2006 um 11:42:10 Uhr
Goto Top
Hi Markus,

php wird durch den IIS interpretiert.
js ist eine beliebige Dateierweiterung, die gerne für ausgelagerte JavaScripte genommen wird.
Die js-Dateien werden dann in den php oder html-Dateien eingebunden.

Wenn eine Fehlermeldung kommt, dass ein Objekt nicht gefunden wurde, dann ist dies ein Fehler im Quellcode.

Grüße
Guido
Mitglied: 16568
16568 02.06.2006 um 11:57:05 Uhr
Goto Top
face-big-smile Der is gut...

Also, wie schon gesagt, PHP wird vom Server interpretiert, JavaScript hingegen wird auf Client-Seite ausgeführt. Schon mal geguckt, ob ActiveScripting auch auf dem Client erlaubt ist?


Lonesome Walker
Mitglied: Tundra
Tundra 02.06.2006 um 12:33:55 Uhr
Goto Top
Hallo Lonesame Walker,

ich bin mal so frei und beziehe das Kompliment auf mich. face-smile
Danke auch für die Sterne.
Grüße
Guido
Mitglied: DarthVaderII
DarthVaderII 02.06.2006 um 12:39:34 Uhr
Goto Top
Das ist ja der Knaller. An meinem Client kann es nicht liegen, weil ich mit meinem PC bei der Benutzung des gleichen Forentyps auf einem anderen Server (Linux) absolut keine Probleme habe...

Ich bin einfach mal so frei und schreibe hier mal den Link zum Forum rein:
www.vx600.de/drachenblut/forum

Benutzer: Testman
Passwort: 12345
Mitglied: Tundra
Tundra 02.06.2006 um 12:49:50 Uhr
Goto Top
Das eine ist ein Linux-System, das andere ist w2k3.
Der IIS ist dabei ganz anders zu konfigurieren.
Je nach dem wie das Board programmiert wurde, musst Du in den IIS-Einstellungen auch das Ausführen von Scripten erlauben.

Wenn ein Object erwartet wird, dann wird in der Regel auch die Datei und die Zeile angezeigt.

Was passiert, wenn Du die "Verstärkte Sicherheitskonfiguration für IE" deinstallierst?

Die Umlaute werden auf der Startseite nicht korrekt dargestellt.
Der Sprachtyp ist: charset=windows-1252
Ich würde mal charset=iso-8859-1 einstellen.

Grüße
Guido
Mitglied: DarthVaderII
DarthVaderII 02.06.2006 um 12:57:34 Uhr
Goto Top
Danke für die Tipps!

Klar kann man den Linux und den W2K3 nicht miteinander vergleichen. Ich wollte damit nur sagen, dass das Problem nicht auf meinem Client ist.

Ich werde noch mal ein wenig am IIS rumschrauben...

Das mit den Umlauten ist passiert, weil ich die Foren per SQL in die neue Datenbank kopiert habe. Das werde ich noch anpassen... danke!
Mitglied: 16568
16568 02.06.2006 um 13:05:47 Uhr
Goto Top
Hallo Lonesame Walker,

ich bin mal so frei und beziehe das
Kompliment auf mich. face-smile
Danke auch für die Sterne.
Grüße
Guido

???

Ich habe Dir keine Sterne gegeben.
Habe ich jetzt aber nachgeholt.


Lonesome Walker
Mitglied: Guenni
Guenni 02.06.2006 um 20:05:00 Uhr
Goto Top
@DarthVaderII

Hi,

der Fehler "Objekt erwartet" deutet, m.M. nach, darauf hin, dass
Funktionen nicht gefunden wurden, auch die werden bei JavaScript als
Objekt angesehen.

Mögliche Fehlerquelle:

Die index.* deines Forums ist im Verz. forum.

Folg. Anweisung:

<script type="text/javascript" src="js/bbcode.js"></script>

setzt voraus, dass das Verz. js ein Unterverz. von forum ist.

Wenn sich jedoch die Verz. forum und js auf einer Ebene befinden,
dann muß die Anweisung lauten:

<script type="text/javascript" src="../js/bbcode.js"></script>

Der doppelte Punkt bedeutet: Eine Verzeichnisebene zurück, analog
zur Dos-Anweisung "cd ..", also "raus aus forum", und ab ins Verz. js.

"cd .." bedeutet auch bei Linux/Unix eine Verzeichnisebene zurück face-smile

Auch bei mehreren Ebenen muß dann entsprechend oft zurückgegangen
werden.

Heißt, auch eine Anweisung wie:

<script type="text/javascript" src="../../../js/bbcode.js"></script>

z.B. würde richtig sein, wenn sich das Verz. js 2 Ebenen über forum
befinden würde:

js/bbcode.js ? dann wäre js ein Unterverz.

../js/bbcode.js ? auf gleicher Ebene wie forum

../../js/bbcode.js ? eine Ebene über forum

../../../js/bbcode.js ? zwei Ebenen über forum

Dass der Fehler im IIS liegt, halte ich für sehr unwahrscheinlich, denn
JavaScript wird, wie LSW schon schrieb, beim Client ausgeführt und
nicht auf dem Server.

Gruß
Günni
Mitglied: DarthVaderII
DarthVaderII 03.06.2006 um 01:03:04 Uhr
Goto Top
js/bbcode.js
das ist ja ein Unterverzeichnis in /Forum...

Ich versteh das irgendwie nicht... face-sad

Das mit den Verzeichnisebenen ist mir schon klar, aber ich denke das der Link auf die js-Seite richtig ist.
Wenn ich versuche die URL zur Datei bbcode.js in den IE einzugeben, dann bekomm ich die Fehlermeldung "HTTP Error 404 - File or directory not found." Ist das denn so richtig?

Hilfe Hilfe Hilfe face-smile

Schönen Tag!
Mitglied: 16568
16568 03.06.2006 um 11:01:30 Uhr
Goto Top
Siehste, 404 is immer dann, wenn die Datei eben ned dort is, wo sie sein sollte...
Wenn Du Hilfe brauchst, das Forum neu aufzusetzen, PN me...


Lonesome Walker
Mitglied: Guenni
Guenni 03.06.2006 um 12:29:27 Uhr
Goto Top
DarthVaderII

Hi,

nein, richtig ist das nicht. Die Datei wird normalerweise angezeigt(im Firefox z.B.) oder
zum Download angeboten(im IE).

Hast du mal die Schreibweise überprüft(Groß/Klein)?

Gruß
Günni
Mitglied: 16568
16568 03.06.2006 um 13:13:44 Uhr
Goto Top
Aus Sicherheitsgründen habe ich ihm was per PN geschickt, aber ich kann jetzt doch mit definitiver Sicherheit sagen, daß es eben nicht am Forum oder am Script liegt, sondern doch an seinem Webserver!!!

Wobei ich die Kategorie Windows Server in diesem Falle eher unglücklich gewählt finde; ich würde diesen Thread eher in die Rubrik "Webserver" verschieben...


Gruß

Lonesome Walker
Mitglied: Tundra
Tundra 03.06.2006 um 13:14:23 Uhr
Goto Top
Groß/Klein ist bei windows egal.
404 = Seite nicht gefunden
Mitglied: 16568
16568 03.06.2006 um 13:45:54 Uhr
Goto Top
Ich muß mich bedingt selbst korrigieren:

404 Datei nicht gefunden, aber ich habe sie gesehen!
Anscheinend sind da grundlegende Sachen verkehrt...


Lonesome Walker
Mitglied: DarthVaderII
DarthVaderII 03.06.2006 um 14:44:28 Uhr
Goto Top
jo ich denke auch, dass die Datei da ist und auch an der richtigen Stelle liegt.

Also ich vermute mittlerweile massiv, dass der IIS Dateien mit der Endung .js einfach nicht anfasst... Ich hab aber leider noch keine Idee, wie ich ihm das denn sagen soll.

Ich kann ihm ja zum Beispiel sagen, dass er php Dateien mit der php5isapi.dll interpretieren soll, aber was sag ich ihm bei .js? Vielleicht mal mit der jscript.dll nehmen soll?!

Ich hasse den IIS. face-wink
Mitglied: Tundra
Tundra 03.06.2006 um 17:36:35 Uhr
Goto Top
Hast Du mal die Einstellung im IIS gemacht, dass das Ausführen von Scripten erlaubt ist.
Meine *.js-Dateien sind normale Text-Dateien, in denen die JavaScript-Funktionen stehen. Diese js-Dateien werden in den HTML-Dateien eingebunden.

Da JavaScript beim Client ausgeführt wird, wird es nicht über den Webserver ausgeführt, daher kann ich mir auch nicht vorstellen, dass es irgendwie irgendwo eingetragen werden muss.

Ich würde das Problem auf eine Start-HTML-Seite oder -php-Seite herunter brechen und dann besagte Datei einbinden, evtl. sogar alle Funktionen in dieser Datei bis auf ein einfach alert sogar heraus nehmen.

Man muss zunächst mit einfachen Mitteln die grundlegenden Funktionen und Einstellungen testen.

Grüße
Guido
Mitglied: DarthVaderII
DarthVaderII 03.06.2006 um 20:11:03 Uhr
Goto Top
Also diese *.js-Dateien sind genau wie du beschreibst, Textdateien in denen die javascript funktionen deklariert sind.
Wenn ich mir jetzt mal die im Client aufgerufene HTML-Datei ansehe, dann stehen da script-tags drin:
<script type="text/javascript" src="js/bbcode.js"></script>

Und da fangen dann meine Verständnisprobleme an. Die Datei bbcode.js bliebt doch auf dem Server liegen und wird nicht in die HTML-Datei eingebunden?!
und müsste es nicht "./js/bbcode.js" heißen?
Mitglied: Tundra
Tundra 03.06.2006 um 22:44:42 Uhr
Goto Top
Doch, das Script wird im Prinzip eingebunden, aber nicht angezeigt.
Es ist für den Client kein Unterschied, ob das Script in der HTML-Seite steht oder als externe Datei eingebunden wird.
Mit ein Grund für das Auslagern ist ja, dass man sich die Scripte nicht angucken kann.

Deine Verzeichnisstruktur ist z. B.
d:\Forum\
d:\forum\images
d:\forum\js

Dann steht in d:\forum\hier.html
<script src="js/bbcode.js">
Mitglied: 16568
16568 04.06.2006 um 00:46:11 Uhr
Goto Top
Mir dämmert da was...

Was hast Du für einen MIME-Typ für die *.js-Dateien angegeben?


Lonesome Walker
Mitglied: Guenni
Guenni 04.06.2006 um 07:21:01 Uhr
Goto Top
@DarthVaderII

Hi,

anscheinend hast du ein paar Änderungen vorgenommen, denn beim Aufruf

http://www.vx600.de/drachenblut/forum/js/bbcode.js

bekomme ich im Firefox die Fehlermeldung "The specified procedure could not be found."

und im IE "Die Seite kann nicht angezeigt werden".

Kannst du mal die komplette Datei bbcode.js posten oder auf deinem Server zur Ansicht
freigeben?

Gruß
Günni

P.S.: @Tundra

Mit ein Grund für das Auslagern ist ja, dass man sich die Scripte nicht angucken kann.

Der Grund für das Auslagern von Funktionen in eine externe Datei ist eine zentrale
Verwaltung von Funktionen, ansonsten müßten diese auf jeder Seite immer wieder
neu definiert werden.

Eine externe Datei, egal ob es sich um JavaScript oder CSS handelt, wird wie jede
HTML-Seite, wie jedes Bild etc. im Browsercache gespeichert und kann dort jederzeit
eingesehen werden.

Wenn die Seite nicht eingesehen werden könnte, dann wäre sie vom Client auch
nicht ausführbar. face-smile

Test:

Rufe die Seite net-comm.de/test/test.html auf und klicke mal auf die Seite.

Anschließend wirst du im Cache des IE eine Datei namens script.js finden in
der die entsprechende Funktion definiert ist.

Also, kein großes Geheimnis.
Mitglied: Tundra
Tundra 04.06.2006 um 11:04:44 Uhr
Goto Top
@DarthVaderII
Natürlich auch, um Funktionen aus jeder Seite aufrufen zu können, das dürfte ja der Hauptgrund sein.
Das die Scripte allerdings im Cache gespeichert werden, war mir nicht bekannt gewesen.

Grüße
Guido
Mitglied: 16568
16568 04.06.2006 um 11:16:49 Uhr
Goto Top
Leute, ich hab's doch schon oben geschrieben:

Die Datei ist da, sie wird bloß vom IIS gesperrt.

D.h. die Datei ist physikalisch im Ordner vorhanden, wenn man sie jedoch direkt aufruft, wird der Zugriff verweigert.


Lonesome Walker
Mitglied: DarthVaderII
DarthVaderII 04.06.2006 um 11:44:06 Uhr
Goto Top
MIME-Typen:

Ich habe nach den Angaben im KB-Eintrag folgendes gemacht:
In der Management-Console vom IIS rechtsklick auf den Computernamen -> Eigenschaften -> MIME-Typen -> Neu... -> Erweiterung: .js / MIME-Type: Application/octet-stream

Das habe ich also einmal für den Rechner offenbar global eingetragen und um absolut sicher zu gehen auch noch mal für das Verzeichnis js.

Seitdem bekomm ich nicht mehr den Fehler 404 - sondern 500 Interner Serverfehler - Die Seite kann nicht angezeigt werden.

Ich vermut jetzt mal wieder, dass der MIME-Type nicht richtig ist. Und dass da anstatt Application/octet-stream irgendwas anderes rein muss. Aber ich habe keinen blassen Schimmer was. Bis IIS5 gab es offenbar einen Wildcard-Eintrag in der Form von *. Und ab IIS6 ist die MIME-Tabelle einfach mal leer. face-sad

Also die Datei ist mit absoluter Sicherheit da und auch am richtigen Ort. Der Inhalt der Datei wird auch richtig sein, weil ich das Forum gekauft habe und es sich demnach um ein kommerzielles Produkt handelt, dass in dieser Form auf hunderten anderen Servern unverändert läuft. Ich hab also keinen Grund zur Annahme, dass es sich um einen Fehler bei der Programmierung handelt.

Und nochmal herzlichen Danke für die viele Hilfe!!


Und nächster Versuch:

Ich hab diese Seite gefunden: http://de.selfhtml.org/diverses/mimetypen.htm
und mich angefangen zu freuen. Da dachte ich jo ist ja sonnenklar, brauchst du nur noch die beiden verschienen MIME-Typen probieren und eine der beiden wird schon die richtige sein... Und boom - gehen beide nicht. Ich hab sie sowohl für den Rechner als auch für die default Website (und damit für alle Unterverzeichnisse) eingerichtet und auch immer schön brav den Webserver neugestartet, aber leider nix verändert sich... face-sad
Mitglied: Tundra
Tundra 04.06.2006 um 12:09:13 Uhr
Goto Top
Wenn es Kaufware ist, gibt es dann dort keinen Support, oder sind die auch ratlos?
Wie verhält sich das Board auf einem w2k oder XP Rechner?
Mitglied: DarthVaderII
DarthVaderII 04.06.2006 um 12:23:56 Uhr
Goto Top
Also der Support des Herstellers ist offenbar absolut ratlos was Windows Server angeht... Bei denen bin ich noch auf dem Stand, dass die glauben ich hätte die Dateien nicht richtig hochgeladen... face-sad

Ich hab kein Referenzsystem, auf dem ich das testen könnte. Ein Freund von mir hat die selbe Software auf einem Linux-System laufen und hat überhaupt keine Probleme. Hochgeladen, lief...
Mitglied: 16568
16568 04.06.2006 um 20:33:02 Uhr
Goto Top
Ich weiß ja nicht, welche 2 MIME-Typen Du meinst, aber Du hast text/plain schon versucht?

Was der Fehler 500 aber schon mal beweist, daß die Dateien da sind, aber jetzt eben ein Problem bei der Ausführung auftritt.

weiterer Lösungsvorschlag:

Lade das Verzeichnis von außen mal per Ftp hoch, und versuche, die Datei- und Ordner-Rechte auf 777 zu setzten. Vielleicht hast Du dabei Glück...

andere Möglichkeit:

erstelle ein anderes leeres Verzeichnis, und kopier da mal die *.js-Dateien rein, und versuch dann, darauf zuzugreifen.
Gehts dann, dann hast Du speziell mit dem js-Ordner ein Problem.
Gehts dann immer noch nicht, dann ist es ganz klar, daß der IIS dran schuld ist (davon gehe ich aus...)


Gruß

Lonesome Walker
Mitglied: DarthVaderII
DarthVaderII 06.06.2006 um 11:06:22 Uhr
Goto Top
Hallo nochmal zusammen!

Danke!

Ich hab auch noch alle deine Vorschläge des letzten Beitrags ausprobiert, ging irgendwie auch alles nicht.

Und dann hatte ich die "Schnauze" so voll vom IIS, dass ich jetzt einen Apache laufen habe und was soll ich sagen?! Installiert, ein weing die Zicken von php beseitigt und jetzt läuft das Zeug face-wink

Apache rockt face-wink

Also nochmal herzlichen Dank für die intensive Hilfe von Euch!! Aber wie sagt man so schön - der Klügere gibt nach.

Aber die Glückseligkeit hab ich jetzt immernoch nicht erreicht, denn jetzt verschickt php keine Emails... Bin schon drauf und dran auch noch diesen komischen POP3-Mail-Server von MS runter zu werfen. Aber das gehört ja nun wirklich nicht mehr in dieses Forum.

Schönen Tag noch!
Mitglied: Tundra
Tundra 06.06.2006 um 19:01:36 Uhr
Goto Top
Hi,

Du musst smtp konfigurieren.
pop3 ist nur zum Hereinholen.

Grüße
Guido