cs: ALL-Objekt für Internetseiten

Hallihallo,

ich hab da ein großes Problem mit dem übertriebenen Sicherheitsbedürfnis des IE 4 (ja, sowas gibts ;-).
Ein JS schickt mit submit ein Formular an ein Perl-Script. Das was das Perl-Script an den Browser zurückschickt soll ausgelesen und und im JS weiterverarbeitet werden. Ich hab das so geregelt daß das Formular in einem Frame steht und die Antwort erscheint in einem anderen Frame (ist ja mit TARGET kein Problem).
Leider kann ich dann auf diesen Frame nicht mehr zugreifen obwohl ich die Sicherheitseinstellungen des IE schon auf den niedrigsten Level eingestellt hab. Es funktioniert nicht mal mehr den Titel oder die URL auszulesen (bei Opera geht das).

Wie kann ich den IE dazu bringen den ALL-Befehl zu akzeptieren bzw. die Blockade zu umgehen?

Ich hab mich im Forum gründlich umgesehen konnte aber nichts konkretes finden was mir weiterhilft.

Vielleicht gings irgendwie mit ActiveX? Oder mit einem Java-Applet?

für jede Hilfe dankbar bin ;-)

  1. Hallo cs!

    Natuerlicg gibt es Sicherheitsvorschriften, die immer aktive sind, und die sind kein Aergernis, sondern nur zum Schutze des Useres gedacht, oder wolltest Du immer ueberwacht sein?
    Also, man kann nur auf ein Frame zugreifen und auslesen, wenn es auf dem selben Server liegt, ist nunmal so, sonst koennte man ja mal vegessen ein frameset zu beenden, und dann gehts im Bereich des ausspionierens. Also mein Tip, erstelle erst gar kein Fremset, sonder gebe die Variablen direkt ueber

    print <<"EOT";
    Content-Type: text/html

    [...]
    <script type="text/javascript">
    var variable1 = $varibale1;
    var varibale2 = $variable2;

    alert(variable1);
    alert(variable2);
    </script>
    [...]

    EOT

    um mal ein einfaches Beispiel zu geben. In diesem Fall, muss der Link oder die Form-Aktion direkt auf die CGI-Datei ziegen.
    Viel Spass bim Ausprobieren.

    Gruesse,
    Thilo

    1. Hallo Thilo,

      ich will garnichts ausspionieren außer alle Browser sind nun Spionageprogramme geworden ;-)
      Das Script soll nur bei mir lokal laufen, es wird nicht irgendwo hochgeladen. Beispiel:

      <script type="text/javascript">
      var neu = window.open("http://www.teamone.de/selfaktuell/");
      alert(neu.document.ALL.innerHTML);
      </script>

      Ich hab gehört in Perl und anderen Sprachen wäre das kein Problem. Allerdings will ich nicht extra ne komplett andere Programmiersprache lernen nur wegen dieses einem Problems, zum anderen hab ich einen Großteil des JS schon fertig. Allerdings hab ich es nur mit Festplattendateien ausprobiert. Konnte ja nicht ahnen daß es bei WWW-Seiten anders wär.

      Leider hat mir dein Beispiel nicht weitergeholfen. Es produziert nur eine Fehlermeldung.

      Gruß
      cs

      1. Hallo cs!

        Das Beispiel war _keines_ fuer JavaScript, sondern eines fuer die beliebte CGI-Sprache Perl. Und wenn Du etwas ordentliches haben willst kommst du auch nicht um CGI drumherum.

        Aber Du willst die den Source angucken, ich ahbe mal ein kleines CGI-Script geschreiben, dass das viel besser kann.

        #!/usr/local/bin/perl

        use LWP::Simple;
        use CGI qw(:standard);

        unless (param()) {
          print header,
          start_html('Quelltext-Anzeige'),
          h1('Bitte Daten angeben'),
          start_form,
          p([ "URL:", textfield({-name => 'url' -size => 30}) ]),
          submit({-value => 'Absenden'}),
          end_form,
          end_html;
        } else {
          print haeder,
          start_html('Quelltext-Anziege'),
          h1('Quelltext der Seite'),
          pre(getprint(param('url'))),
          end_html;
        }

        Einfach auf dem lokalen Webserver ablgen, fertig :)

        Gruesse,
        Thilo

        1. Hallo Thilo,

          aha, das erklärt natürlich einiges ;-)
          Als ich <script type="text/javascript"> sah dachte ich halt an JavaScript.
          Perl will ich unbedingt vermeiden weil ich sonst zum einen das fertige JS umschreiben müßte um zum anderen Perl erlernen muß, was bestimmt nicht so auf die Schnelle geht ;-)

          Ich hab mal im Forums-Achiv gelesen wie mit Hilfe von ActiveX eine Seite ausgedruckt wurde ... also etwas was JS eigentlich auch ganz und garnicht konnte.

          Oder mit Java, Applet einbinden und Datenübergabe an das JS dürfte unproblematisch sein.

          Siehst du da eine Möglichkeit?

          Gruß
          cs

          1. Hallo cs!

            <../../sfausles/tsfa_tci.htm#a10>

            mehr sage ich dazu nicht, aus guten grund ;)

            Grüße,
            Thilo

            1. Hallo Thilo,

              die Seite kenn ich bereits. Von dort hab ich die Idee daß es mit ActiveX vermutlich ginge. Nur wie?

              Der 2. Lösungsansatz mit einem Java-Applet erscheint mir da noch besser, jetzt wo ich weiß das sowas mit ca. 50 Zeilen zu machen wär und es unproblematisch ist Java-Applets in HTML einzubinden und mit einem JS in beide Richtungen kommunizieren zu lassen.
              Für ein Sample (falls jemand eins kennt) oder einen Link zu diesem Thema wär ich dankbar, da ich über Java fast garnichts weiß.

              Übrigens Thilo, ich lerne nicht extra auch noch Perl, schreib dann mein JS - woran ich schon sehr lange arbeite - komplett um nur um 50 Zeilen Java-Code zu ersparen.

              Nutzen und Aufwand stehen da in keinem Verhältnis.

              Achja, falls jemand einen noch einfacheren Kniff z. B. via ActiveX kennt, ich bin ganz Ohr ;-)

              Gruß
              cs