ilch Forum » Allgemein » HTML, PHP, SQL,... » Iframe per Jquery anpassen

Geschlossen
  1. #1
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.260
    Beitragswertungen
    1114 Beitragspunkte
    Ich würde gerne ein eingebundenes Iframe vom Hauptdokument in Anzeigeform (CSS, font, color usw.) anpassen.

    Leider funktioniert jQuery .contents() nach vielen verschiedenen Versuchen überhaupt nicht.

    Das folgende war mein Gedanke:
    <!DOCTYPE html>
    <html>
    <head>
      <script src="http://code.jquery.com/jquery-latest.js"></script>
      <script>
      $(document).ready(function() {
        $("#frame").contents().find(".test").css("color","#FF0000");
      });
      </script>
    </head>
    <body>
      <iframe id="frame" src="xxx.html" width="100%" height="100%"></iframe> 
    </body>
    </html>


    <!DOCTYPE html>
    <html>
    <head>
      <style>
      .test { color: #000; }
      </style>
    </head>
    <body>
      <p>Test</p>
      <div class="test">Testtext</div>
    </body>
    </html>


    Hat jemand eine Idee wie es funktioniert oder geht das überhaupt nicht?

    PS: Ich habe keinen Zugriff auf die Quelldati für das Iframe
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Sicherheitstechnisch, kannst du maximal auf iframes Einfluss nehmen, die auf der gleichen Domain liegen oder so, und wenn das der Fall ist, dann hast du ja meist auch Zugriff auf den Code innerhalb des iframes zu ändern und könntest dann z.B. eine Funktion schreiben, die du von außerhalb anstoßen kannst.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    MaddinXx Mitglied
    Registriert seit
    15.02.2007
    Beiträge
    793
    Beitragswertungen
    40 Beitragspunkte
    Hi

    Wie Mairu sagst, ist die Chance dazu praktisch gleich 0. Bin selber schon verzweifelt an solchen Versuchen und ich musste mit Entsetzen feststellen, dass es wirklich keine Lösung gibt.

    Ich bin mir jetzt nicht ganz sicher, ob das folgende stimmt. Ich glaube aber, wenn du die einzubindende Datei bearbeiten kannst, muss diese nicht mal auf dem gleichen Server liegen. Wie gesagt, dass kann total falsch sein - aber ich glaube mich zu errinnern, dass ich dazu mal was gefunden hatte.

    Grüsse
    MaddinXx
    1 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.260
    Beitragswertungen
    1114 Beitragspunkte
    Mir hat mein Hoster des TS3 eine Serverviewer (Einbindung per Iframe) bereitgestellt, welchen ich an sich nicht schlecht finde. Nur die verwendete style.css findet nicht ganz mein Geschmack, da sie dem Style meiner neuen WebSite (noch in Arbeit) nicht überein stimmt.

    Irritiert hat mich, dass unter diesem Link jQuery .contents() ein Beispiel gezeigt wird, was genau in meinen Interesse lag. Manipulation der css eines Iframes.

    Aber langsam glaube ich auch, dass es nicht so einfach geht und werde wohl wieder ein eigenen Viewer basteln. Vielen Dank für die Antworten.


    Zuletzt modifiziert von Lord|Schirmer am 16.03.2012 - 09:07:54
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    google.de Mitglied
    Registriert seit
    26.01.2012
    Beiträge
    352
    Beitragswertungen
    33 Beitragspunkte
    ja weil der ausgeführte Code auf der gleichen Domain läuft wie das Iframe selbst.

    Kopier dier das Bsp. mal Eins zu Eins und führe es aus. Du wirst sehen das es nicht Funktioniert.


    Das ganze liegt daran das dein Browser eine Iframe Manipulation verbietet wenn es also eine unterschiedliche Dmoain/Subdomain ist oder alleine das verwendete Protokoll anders ist dann greift das SOP-Prizip(Same Origin Policy) welches jegliche Interaktionen verhindert.

    Jquery möchte damit jeglich daraufhinweisen das du Inhalte einbinden kannst und Manipulieren kannst die von deiner eigenen Seite kommen.
    Kein Support per PN!
    Wenn ich zitiere ist dies KEIN Angriff auf die Person!
    1 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    108 Beitragspunkte
    Dein Problem dürfte die "javascript Origin Policy" sein.

    Edit:

    Du könntest natürlich die xxx.html mit php einlesen und auf deinem Server eine Kopie ablegen und diese dann einlesen.

    bringt natürlich Nachteile mit sich.


    Zuletzt modifiziert von Revolution am 16.03.2012 - 15:04:47
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    1 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Wäre aber noch einfacher als ein eigenen Viewer zu bauen, wichtig ist dann, dass du das nicht bei jedem Seitenaufruf neu machst, sondern dein Ergebnis zumindest ein/zwei Minuten vorhälst, externe Serverabfragen sind "teuer".
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.260
    Beitragswertungen
    1114 Beitragspunkte
    Ich habe den Anbieter überzeugt das Script anzupassen, so dass ich per Link eine Adresse zu meiner style.css übergeben kann. Funktioniert bestens und mein Problem ist jetzt gelöst.

    Nochmal vielen Dank für die Reaktionen.
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten