php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.07.2011, 23:23  
Neuer Benutzer
 
Registriert seit: 18.07.2011
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
aauerswald befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] In PHP einen JS mittels XMLHTTPREQUEST in DIV Problem

Hallo,

ich habe ein kleines Problem bei dem ich leider nicht weiter komme.
Ich benutze auf meiner Seite den GoogleTranslation Script um sie ggf. übersetzen zu lassen. Dies funktioniert auch ohne Probleme, jedoch bremst dieses Feature meine Seite beim Laden bzw. Navigieren sehr aus.

Ich hatte also die Idee dieses Tool nur bei Bedarf über einen Link nachzuladen und nicht per default anzuzeigen. Und dies funktioniert eben leider nur bedingt.

D.h. der JS wird zwar ordnungsgemäß in den DIV nachgeladen, aber nicht ausgeführt wie es scheint.

Hat jemand eine Idee woran das liegen könnte?




Hier der Aufruf zum einbinden.....

PHP-Code:
<div style='width: 200px; height: 50px;' id='Translate'>
 <
a href='#' onclick='DoXmlHttpRequest('includes/translate.php', 'Translate')'><span>Change Language</span></a>
</
div
Hier der JS... (von google vorgegeben) aus "translate.php"

PHP-Code:
echo "<div style='margin-right: 10px;' id='google_translate_element'></div>
          <script>function googleTranslateElementInit() {
              new google.translate.TranslateElement({
              pageLanguage: 'de',
              autoDisplay: false,
             }, 'google_translate_element');
            }
            </script>

<script src='//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit'></script>"

Hier mein JS zum Nachladen....

PHP-Code:
var request null;
var 
div null;

function 
DoXmlHttpRequest(urldiv)
{
        
request createRequest();
        
request.onreadystatechange = function()
        {
            switch(
request.readyState)
            {
                case 
0:
                case 
1:
                case 
2
                case 
3: return;
                case 
4: var out request.responseText; break;
            }
            
document.getElementById(div).innerHTML out;        
        }
        
request.open("GET"urltrue);
        
request.send(null);
}
    
function 
createRequest()
{
     try
    {
        var 
request = new XMLHttpRequest();
    }
    catch(
ex)
    {
        try
        {
            var 
request = new ActiveXObject("MSXML2.XMLHTTP");
        }
        catch(
ex)
        {
            var 
request = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return 
request;

Gruß,

André
aauerswald ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.07.2011, 01:18  
Erfahrener Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 1.168
PHP-Kenntnisse:
Fortgeschritten
Koala befindet sich auf einem aufstrebenden Ast
Standard

Code:
<div style='width: 200px; height: 50px;' id='Translate'>
 <a href='#' onclick='DoXmlHttpRequest('includes/translate.php', 'Translate')'><span>Change Language</span></a>
</div> 
schau Dir die Anführungszeichen an.

Und benutz Firebug oder etwas Ähnliches um JS-Fehler zu finden.

Das Thema ist aber nicht fortgeschritten.
__________________
Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.
Koala ist offline   Mit Zitat antworten
Alt 19.07.2011, 01:23  
Neuer Benutzer
 
Registriert seit: 18.07.2011
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
aauerswald befindet sich auf einem aufstrebenden Ast
Standard

Orginal steht da bei mir \“ am anfang und ende, aber das wurde dann so komisch vormatiert hier bei der ausgabe im forum, deshalb die einfachen ' .

Hatte ich vergessen zu erwähnen.

Alles was php code ist und über diesen script läuft wir ordentlich verarbeitet, nur leider kein javascript.
aauerswald ist offline   Mit Zitat antworten
Alt 19.07.2011, 02:23  
Erfahrener Benutzer
 
Registriert seit: 13.05.2011
Beiträge: 188
PHP-Kenntnisse:
Fortgeschritten
php1704 wird schon bald berühmt werden
Standard

Der Code wird nicht ausgeführt wenn du ihn per Ajax lädst. Du müsstest das zwischen <script> und </script> per eval ausführen. Oder du verwendest gleich jQuery, das macht das alles für dich. (http://api.jquery.com/jQuery.ajax/)

Grüße.
php1704 ist offline   Mit Zitat antworten
Alt 19.07.2011, 17:11  
Neuer Benutzer
 
Registriert seit: 18.07.2011
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
aauerswald befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank erstmal, ich schau mir das mal an
aauerswald ist offline   Mit Zitat antworten
Alt 19.07.2011, 17:14  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Probleme, die in erster Linie aus mangelnden Grundagen-Kenntnissen resultieren, gehören nicht in den "Fortgeschritten"-Bereich.
Außerdem ist das wie's aussieht wohl eher ein clientseitiges Thema.
*verschieb*
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 19.07.2011, 17:50  
Neuer Benutzer
 
Registriert seit: 18.07.2011
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
aauerswald befindet sich auf einem aufstrebenden Ast
Standard

Habe es hinbekommen mit jquery

PHP-Code:
<script type='text/javascript'>
$(
document).ready(function(){
  $(
'button').click(function(){
    $.
getScript('//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit');
  });
});
</script> 
Vielen Dank!
aauerswald ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Basedir in PhP cmuch05 Datenbanken 9 08.01.2009 14:17
[Erledigt] Problem: PHP Selbe Datei mehr als 1 Mal soulan PHP Tipps 2008 13 28.11.2008 22:51
Problem Upload mehrere Dateien und schreiben in DB Lapje PHP Tipps 2008 1 22.10.2008 13:12
utf8 Problem (Daten aus DB auslesen) go1denboy PHP Tipps 2008 1 23.09.2008 12:19
Problem mit swfobjects R4v3r JavaScript, Ajax und mehr 8 21.09.2008 14:17
PHP5 SOAP - Problem mit Arrays Calexico PHP-Fortgeschrittene 0 11.09.2008 12:06
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Übergabe von eingegebenem String mittels Formular und POST?! vampsoftchef PHP Tipps 2006 7 18.10.2006 20:06
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
Auslesen von Variabeln mittels Formular Dadelu PHP Tipps 2006 9 30.03.2006 10:48
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] Vermutlich ein php.ini Problem PHP-Fortgeschrittene 16 07.08.2005 20:23
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
<div id=\google_translate_element\></div>, javascript request ausgabe in div, xmlhttprequest with php, php mit ajax xmlhttprequest einbetten, http://translate.google.com/translate_a/element.js?cb=googletranslateelementinit einbinden, xmlhttprequest div, xmlhttprequest js, google translate element onclick, ajax xmlhttprequest div, php xml http request, google translate element, javascript mittelsxmlhttprequest

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:20 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum