Steffen Barthel: Kann externes js-File Parameter lesen?

Hallo,

ich möchte die Bildschirmauflösung des Browsers auslesen - leider kann aber mein externes js-File die Auflösung nicht lesen - bzw. es endet mit einem "Objekt erwartet" - Fehler.

<-js-File->
function checkSize() {
if (screen.width < "1024")
alert("Diese Seite ist f&uuml; eine Aufl&ouml;sung von 1024x768 px optimiert!");
}
<-/js-File->

<-html-File->
...
<script language="JavaScript" src="/test.js" type="text/javascript"></script>
</head>
<body onLoad="checkSize()" >
...
<-/html-File->

Muss ich screen.width als Parameter übergeben, oder warum funktioniert es so nicht?

  1. Hallo Steffen,

    if (screen.width < "1024")

    ^^^^ Da kommen AFAIK keine Anführungszeichen hin.

    Gruß
    Alexander Brock

    --
    SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:? ss:| de:> js:( ch:| sh:( mo:} zu:}
    http://againsttcpa.com
    1. Hallo,

      if (screen.width < "1024")
                             ^^^^ Da kommen AFAIK keine Anführungszeichen hin

      Okay - habe ich bereinigt, allerdings kommt immer noch die Fehlermeldung "Objekt erwartet".

      Grüsse,
      Steffen

      1. Okay - habe ich bereinigt, allerdings kommt immer noch die Fehlermeldung "Objekt erwartet".

        Ich vermute, lieber Steffen, dass in Deiner Zeile

        <script language="JavaScript" src="/test.js" type="text/javascript"></script>

        die Adressierung der js-Datei inkorrekt ist. Als /test.js müsste sie im Stammverzeichnis Deiner Site liegen. Tut sie das nicht (also liegt sie etwa in einem Verzeichnis www.deinedomain.de/html oder ähnlich), kann's nicht laufen.

        Herzlich, twb

  2. Generell: eingelesener JS-Code ist ab dem Moment des Einlesens Bestandteil des aufrufenden HTML-Dokuments - ebenso als wenn der Code dort eingebettet wäre. Er kann also auch alle Parameter lesen.

    ... oder warum funktioniert es so nicht?

    Das wurde schon beantwortet. Ein Integer braucht keine Anführungszeichen. Mit solchen wird es als Textstring interpretiert.

  3. <-js-File->

    Ich hoffe du hast diese Zeile nicht in deinem JS File. in eine JS Datei darf nur JS.
    Die Fehlermeldung ist übrigens sehr sinnlos, da sie a.) wenig aussagt und b.) du nicht mal gesagt hast welche Zeile davon betroffen ist.

    Prinzipiell, nutze einen Mozilla browser, desen JS Fehlermeldungen erleichtern dir die Fehlersuche

    function checkSize() {
    if (screen.width < "1024")
    alert("Diese Seite ist f&uuml; eine Aufl&ouml;sung von 1024x768 px optimiert!");

    Nur am Rande, eine HTML Seite läßt sich nicht für eine Auflösung optimieren, da diese Information absolut keine Aussage über irgend etwas zuläßt, das dich bei einer Internetseite interessieren könnte.

    (als Beispiel, das Browserfenster auf einem 15 Zoll Monitor mit einer 800x600er Auflösung wird nicht selten größer eingestellt sein, als das auf einem 19" oder größerem Monitor mit einer 1200er Auflösung. Eine optimale Breite für einen Fließtext ist zwischen 50 und 80 Zeichen und in größeren Auflösungen werden viele Nutzer den Browser eben auf eine solche Breite einstellen.

    Struppi.