Pete: Betriebssystemweiche

Hallo,

da ich es leider nicht ausprobieren kann (mangels WIN), frage ich euch, ob dieser Code so gehen kann?

<script type="text/javascript">
 if (navigator.platform.indexOf("Win")!=-1) { //Windowsbetriebssystem: posten
  document.write('<div class="configElement"><input type="button" size="15" name="test_file" value="Starten"></div>'+'\n');
 } else {
  document.write('<div class="configElement"><input type="file" size="15" name="test_file" value=""></div>'+'\n');
 }
</script>

Ich kann nämlich von WIN aus keine js nach Auswahl des Users einbinden. Bilder oder so geht. Aber der Browser muckt bei solchen Zeilen

<script type="text/javascript" src="C:\\Eigene Dateien\js\config.js"></script>

Ich kann es übrigens nich anders lösen, da das ganze Offline laufen soll, ohne lokalen Server.

Pete

  1. Hi,

    da ich es leider nicht ausprobieren kann (mangels WIN), frage ich euch, ob dieser Code so gehen kann?

    nein. Du verwendest das navigator-Objekt, welches völlig aussagefrei ist. Desweiteren ist eine Weiche nach Browser oder Betriebssystem hyperliquid.

    Ich kann nämlich von WIN aus keine js nach Auswahl des Users einbinden.

    Keine was?

    <script type="text/javascript" src="C:\\Eigene Dateien\js\config.js"></script>

    Wenn dies nicht funktioniert, so liegt das nicht vom Betriebssystem, sondern daran, dass es falsch ist. Im src-Attribut muss eine URI stehen, und das da ist keine. AFAIK ist der einzige Browser, der daraus _irgendetwas_ machen kann, der IE. Sorge einfach für eine korrekte URI.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. nein. Du verwendest das navigator-Objekt, welches völlig aussagefrei ist.

      Was meinst du mit aussagefrei?

      Desweiteren ist eine Weiche nach Browser oder Betriebssystem hyperliquid.

      Warum?

      Ich kann nämlich von WIN aus keine js nach Auswahl des Users einbinden.

      Keine was?

      Da man ja keine Dateien mittels JavaScript einbinden kann, behelfe ich mir mit folgender Konstruktion:

      1. Der Anwender wählt eine lokale Datei von seinem Rechner aus (Daher auch der merkwürdige Pfad)
      2. Anschließend schreibe ich in einen andere Frame einen Code der die ausgewählte Datei als JavaScript-Datei einbindet

      <script type="text/javascript" src="C:\\Eigene Dateien\Daten\test.xml"></script>

      Die Einschränkung ist allerdings, dass alles nur eine Zeile sein muss und eine Variablendefinition ist: xmlData="<bla></bla>"

      3. Dieser besagter Code ruft dann die JavaScriptfunktion top.parseXML(xmlData) auf.

      Wenn dies nicht funktioniert, so liegt das nicht vom Betriebssystem, sondern daran, dass es falsch ist. Im src-Attribut muss eine URI stehen, und das da ist keine. AFAIK ist der einzige Browser, der daraus _irgendetwas_ machen kann, der IE.

      Unter MacOSX geht es übrigens, sonst wäre ich gar nicht auf diese Idee gekommen.

      Sorge einfach für eine korrekte URI.

      Aber genau das kann ich ja nicht. Der Anwender/Betriebssystem stellt ja den Pfad zusammen Und ich kann ja nicht einfach die "" durch "/" ersetzen und "C:" weglassen, oder? Deswegen wollte ich diesen "Hack" nur MACOSX-Besitzern anbieten.

      Pete

      1. Hi,

        Was meinst du mit aussagefrei?

        ohne jede Aussage.

        Desweiteren ist eine Weiche nach Browser oder Betriebssystem hyperliquid.
        Warum?

        Weil Du Dir höchstens mehrfache Arbeit machst, aber keinen Nutzen davon hast. Mehr im </archiv/>.

        Da man ja keine Dateien mittels JavaScript einbinden kann, behelfe ich mir mit folgender Konstruktion:

        Mir verschließt sich noch immer der Sinn des ganzen, daher kann ich Dir auch nicht sagen, was Du wie machen solltest.

        1. Der Anwender wählt eine lokale Datei von seinem Rechner aus (Daher auch der merkwürdige Pfad)

        Der Pfad ist egal. Es liegt an Dir, eine gültige URI daraus zu generieren. Bei lokalen oder Netzwerk-Dateien verwendet diese das file-Protokoll.

        Die Einschränkung ist allerdings, dass alles nur eine Zeile sein muss und eine Variablendefinition ist: xmlData="<bla></bla>"
        3. Dieser besagter Code ruft dann die JavaScriptfunktion top.parseXML(xmlData) auf.

        Mit welchem Ziel? Warum tut es nicht ein <iframe>?

        Unter MacOSX geht es übrigens, sonst wäre ich gar nicht auf diese Idee gekommen.

        Auf die Gefahr hin, mich zu wiederholen: Das ganze hat _nichts_ mit dem Betriebssystem zu tun.

        Sorge einfach für eine korrekte URI.
        Aber genau das kann ich ja nicht. Der Anwender/Betriebssystem stellt ja den Pfad zusammen Und ich kann ja nicht einfach die "" durch "/" ersetzen und "C:" weglassen, oder?

        Damit allein ist es nicht getan, nein. Aber es ist ein guter Anfang. Vergiss nicht die Kodierung aller in URIs nicht erlaubter Zeichen, z.B. der Leerzeichen.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Der Pfad ist egal. Es liegt an Dir, eine gültige URI daraus zu generieren. Bei lokalen oder Netzwerk-Dateien verwendet diese das file-Protokoll.

          Okay. Ich versuche etwas sazu zu finden.

          Die Einschränkung ist allerdings, dass alles nur eine Zeile sein muss und eine Variablendefinition ist: xmlData="<bla></bla>"
          3. Dieser besagter Code ruft dann die JavaScriptfunktion top.parseXML(xmlData) auf.

          Mit welchem Ziel? Warum tut es nicht ein <iframe>?

          Keine Ahnung. Was ist ein iFrame? Ich schaue mal nach, den bis jetzt habe ich keinen gebraucht.

          Auf die Gefahr hin, mich zu wiederholen: Das ganze hat _nichts_ mit dem Betriebssystem zu tun.

          Hat es irgendwie schon. Ich liste hier nur meine Beobachtung auf. Da ich nicht weiß was dahintersteckt, weiß ich ja auch nicht wo mein Problem her kommt. Ich konnte nur sehen, das es unter OSX geht und unter Win nicht und das der einzige Unterschied der Pfad ist. Das nun OSX und WIN andere Pfade benutzen ist ja nun auch klar, also liegt es am Betriebssystem.

          Damit allein ist es nicht getan, nein. Aber es ist ein guter Anfang. Vergiss nicht die Kodierung aller in URIs nicht erlaubter Zeichen, z.B. der Leerzeichen.

          Mache ich, danke.

          Pete