Ergebnis 1 bis 11 von 11
  1. #1
    partisan ist offline Grünschnabel
    registriert
    12-03-2013
    Beiträge
    6

    Manipulation externer Scripte

    Hallo zusammen,

    Folgende Situation: - ich wöchte/muss ein Widget eines externen Anbieters auf einer Webseite einbinden. Leider gibt es das Widget nur in englisch ... es muss aber auf deutsch angezeigt werden.

    <script type="text/javascript">
    healcode_widget_id = "ub3047rvyr";
    healcode_widget_name = "prospects";
    healcode_widget_type = "mb";
    document.write(unescape("%3Cscript src='https://www.healcode.com/javascripts/hc_widget.js' type='text/javascript'%3E%3C/script%3E"));
    </script>

    Erster Lösungsansatz: durch mein eigenes Script will ich die entsprechenden Labels nach dem Laden des Widgets austauschen.
    z.B.
    <div id="hc_prospects_ub3047rvyr" class="healcode prospect">
    <tbody>
    <tr class="first_name">
    <th>
    <label for="prospects_first_name">First name</label>
    </th>
    ...
    <script type="text/javascript">
    jQuery("#hc_prospects_ub3047rvyr").ready(function(){
    $(".first_name > th > label").text("Vorname");
    });

    </script>




    -> Leider funktioniert das nicht bzw. komme ich irgendwie nicht weiter und kann die entsprechenden Labels nicht ansprechen

    Jemand ne Idee?

    Großes Danke im Voraus!

  2. #2
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Manipulation externer Scripte

    Zitat Zitat von partisan Beitrag anzeigen
    Folgende Situation: - ich wöchte/muss ein Widget eines externen Anbieters auf einer Webseite einbinden. Leider gibt es das Widget nur in englisch ... es muss aber auf deutsch angezeigt werden.

    <script type="text/javascript">
    healcode_widget_id = "ub3047rvyr";
    healcode_widget_name = "prospects";
    healcode_widget_type = "mb";
    document.write(unescape("%3Cscript src='https://www.healcode.com/javascripts/hc_widget.js' type='text/javascript'%3E%3C/script%3E"));
    </script>
    Warum so umständlich?
    Wieso bindest du das Skript nicht einfach im HTML Code ein?
    HTML-Code:
    <script src='https://www.healcode.com/javascripts/hc_widget.js' type='text/javascript'></script>
    Zitat Zitat von partisan Beitrag anzeigen
    Erster Lösungsansatz: durch mein eigenes Script will ich die entsprechenden Labels nach dem Laden des Widgets austauschen.
    z.B.
    <div id="hc_prospects_ub3047rvyr" class="healcode prospect">
    <tbody>
    <tr class="first_name">
    <th>
    <label for="prospects_first_name">First name</label>
    </th>
    ...
    <script type="text/javascript">
    jQuery("#hc_prospects_ub3047rvyr").ready(function(){
    $(".first_name > th > label").text("Vorname");
    });

    </script>




    -> Leider funktioniert das nicht
    Wieso nicht? Gibt es eine Fehlermeldung? (http://forum.jswelt.de/javascript-fa...erkonsole.html (Wo finde ich die Fehlerkonsole?))

  3. #3
    partisan ist offline Grünschnabel
    registriert
    12-03-2013
    Beiträge
    6

    AW: Manipulation externer Scripte

    <script type="text/javascript">
    healcode_widget_id = "ub3047rvyr";
    healcode_widget_name = "prospects";
    healcode_widget_type = "mb";
    document.write(unescape("%3Cscript src='https://www.healcode.com/javascripts/hc_widget.js' type='text/javascript'%3E%3C/script%3E"));
    </script>

    - Also das ist der Code der mit vom Anbieter generiert wurde - binde ich es nur als HTML ein, so wie du meintest funktioniert es nicht bzw. wird nix geladen
    z.B. so
    <script src='https://www.healcode.com/javascripts/hc_widget.js' type='text/javascript'>
    healcode_widget_id = "ub3047rvyr";
    healcode_widget_name = "prospects";
    healcode_widget_type = "mb";
    </script>

  4. #4
    partisan ist offline Grünschnabel
    registriert
    12-03-2013
    Beiträge
    6

    AW: Manipulation externer Scripte

    Zitat Zitat von ein schlauer Beitrag anzeigen
    Warum so umständlich?
    Wieso bindest du das Skript nicht einfach im HTML Code ein?
    HTML-Code:
    <script src='https://www.healcode.com/javascripts/hc_widget.js' type='text/javascript'></script>
    Wieso nicht? Gibt es eine Fehlermeldung? (http://forum.jswelt.de/javascript-fa...erkonsole.html (Wo finde ich die Fehlerkonsole?))
    Fehlermeldung bekomme ich auch keine - echt komisch. so wie ich das sehe - wird ja erst meine normale Homepage geladen, dann das Widget. Lieder wartet mein Script nicht bis das Widget fertig geladen hat und versucht also das Element per ID anzusprechen, obwohl es noch gar nicht geladen ist.
    :/

  5. #5
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Manipulation externer Scripte

    Zitat Zitat von partisan Beitrag anzeigen
    - Also das ist der Code der mit vom Anbieter generiert wurde - binde ich es nur als HTML ein, so wie du meintest funktioniert es nicht bzw. wird nix geladen
    z.B. so
    <script src='https://www.healcode.com/javascripts/hc_widget.js' type='text/javascript'>
    healcode_widget_id = "ub3047rvyr";
    healcode_widget_name = "prospects";
    healcode_widget_type = "mb";
    </script>
    Das geht so auch nicht. Du musst dafür zwei Script Blöcke machen und den mit den Variabeln zuerst einbinden.

    Zitat Zitat von partisan Beitrag anzeigen
    Fehlermeldung bekomme ich auch keine - echt komisch. so wie ich das sehe - wird ja erst meine normale Homepage geladen, dann das Widget. Lieder wartet mein Script nicht bis das Widget fertig geladen hat und versucht also das Element per ID anzusprechen, obwohl es noch gar nicht geladen ist.
    :/
    Ach so, die Funktion müßte auch folgendermassen lauten: jQuery(document).ready(function(){...});

  6. #6
    partisan ist offline Grünschnabel
    registriert
    12-03-2013
    Beiträge
    6

    AW: Manipulation externer Scripte

    ok! Danke erst einmal für deine Hilfe!
    so - ich habs jetzt geändert
    = Widget wird geladen, jedoch kommt die Testausgabe "alert("test");" noch bevor das Widget vollständig geladen wurde - ich vermute das hier der Fehler liegt und so das Script nicht das entsprechende Element findet. Gibt es ne andere Möglichkeit?


    <script type='text/javascript'>
    healcode_widget_id = "ub3047rvyr";
    healcode_widget_name = "prospects";
    healcode_widget_type = "mb";
    </script>
    ...HTML...
    <script src='https://www.healcode.com/javascripts/hc_widget.js' type='text/javascript'></script>
    ...HTML...
    <script type='text/javascript'>
    jQuery(document).ready(function(){
    alert("test");
    $(".first_name > th > label").text("Vorname");
    });
    </script>

  7. #7
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Manipulation externer Scripte

    Dann macht u.U. das Widget auch irgend etwas erst onload
    Aber da der Code nochmal auf eine andere Seite weiterleitet ist eine genaue Analyse etwas schwierig. Vermutlich wirst du da mit einem Event nicht weiterkommen und musst mit einem Interval arbeiten. Kommt halt darauf an, was in diesem Code noch alles versteckt ist.

  8. #8
    partisan ist offline Grünschnabel
    registriert
    12-03-2013
    Beiträge
    6

    AW: Manipulation externer Scripte

    verdaaaammt.
    ok - ich hab jetzt erst mal schnell n Timeout reingehauen - dann greift mein Script erst an, wenn das Widget vollständig geladen ist ^^
    jQuery(document).ready(function(){
    setTimeout(function(){
    $(".first_name > th > label").delay(6000).text("Vorname");
    }, 1000);
    });

    Dennoch großes Danke für deine Mühen!

  9. #9
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Manipulation externer Scripte

    Das ist doppelt gemoppelt. Die Methode delay ist im Prinzip ein Timeout

  10. #10
    partisan ist offline Grünschnabel
    registriert
    12-03-2013
    Beiträge
    6

    AW: Manipulation externer Scripte

    upps. sorry - hatte das falsche kopiert :/ hatte erst delay, hab dann aber auf timeout umgebaut.

  11. #11
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.627

    AW: Manipulation externer Scripte

    Ein fester Timeout kann da aber Probleme bereiten, da sich das Timing auch mal verschieben/verspäten kann.

    Besser ist, wenn du mit window.setInterval() immer wieder nachfragst, ob das gewünschte Element (#hc_prospects_ub3047rvyr) existiert. Und wenn es existiert, löschst du das Interval mit window.clearInterval() und führst deinen Ersetzungscode aus.

Ähnliche Themen

  1. DOM Manipulation mit JS
    Von PlanB im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 02-12-2011, 14:16
  2. XML Dom Manipulation und der Internet Explorer
    Von Punchy im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 25-10-2011, 13:21
  3. iFrame Dom Manipulation
    Von anna_frankfurt im Forum JavaScript
    Antworten: 5
    Letzter Beitrag: 19-01-2010, 15:12
  4. Dom Manipulation
    Von chrome im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 05-08-2008, 13:27
  5. Manipulation
    Von dkdenz im Forum Smalltalk
    Antworten: 11
    Letzter Beitrag: 01-07-2005, 16:34

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •