HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ? |
 |

06-07-2015, 15:47
|
Me7z
Registrierter Benutzer
|
|
Registriert seit: Sep 2013
Beiträge: 51
|
|
Inhalt Asynchron in ein Div Laden
Hallo Community,
ich versuche ein Tool von mir, welches auf der Google Api basiert, asynchron in div zu parsen. Das Ganze funktioniert soweit auch, jedoch funktionieren die Infoboxen nicht. Mein Code sieht so aus :
PHP-Code:
$.get('http://tool.com', function(result)
{
$result = $(result);
}, 'html').done(function( data )
{
$("#div_content").append(data);
$(document).ready(function()
{
$.ajax({ url: "http://google-maps-utility-libraryv3.googlecode.com/svn/tags/infobox/1.1.9/src/infobox.js"
dataType: "script"
}).done(function() {
loadScriptFunc('https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true&callback=initialize');
});
});
});
function loadScriptFunc(url, callback)
{
alert(callback);
// Adding the script tag to the head as suggested before
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
// Then bind the event to the callback function.
// There are several events for cross browser compatibility.
script.onreadystatechange = callback;
script.onload = callback;
// Fire the loading
head.appendChild(script);
}
Ich bekomme von der Javascriptconsole die Meldung : infobox.open is not a function
Hoffe mir kann jemand weiterhelfen und mein Problem nachvollziehen.
|

08-07-2015, 12:40
|
 |
fireweasel
Registrierter Benutzer
|
|
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
|
|
Zitat:
Zitat von Me7z
ich versuche ein Tool von mir, welches auf der Google Api basiert, asynchron in div zu parsen.
|
Dieser Satz komputiert bei mir leider nicht ...
Zitat:
Das Ganze funktioniert soweit auch, jedoch funktionieren die Infoboxen nicht. ...
Ich bekomme von der Javascriptconsole die Meldung : infobox.open is not a function
|
Die Fehlermeldung ist doch recht aussagekräftig. Du könntest dir den Typ und den Inhalt von infobox.open ausgeben lassen, um weiterzukommen. Da die Google-APIs aber eine Methode infobox.open() haben, kannst du den Schritt überspringen und gleich versuchen herauszufinden, warum die Variable infobox nicht das ist, was dein Script erwartet. Ein Ansatz wäre, nachzuschauen, ob die referenzierten Resourcen (wie die "infobox. js") überhaupt existieren.
|

08-07-2015, 15:59
|
Me7z
Registrierter Benutzer
|
|
Registriert seit: Sep 2013
Beiträge: 51
|
|
Zitat:
Zitat von fireweasel
Dieser Satz komputiert bei mir leider nicht ...
|
Schade für dich
Habe das Problem mittlerweile gelöst, die Infobox. js war eingebunden jedoch scheint es hier ein kleines Problem mit dem asynchronen Laden zu geben. Konnte das ganze mit einer kleinen Verzögerung der Initialisierung lösen.
Danke trotzdem
MfG
|

08-07-2015, 20:48
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.611
|
|
Zitat:
Zitat von Me7z
Konnte das ganze mit einer kleinen Verzögerung der Initialisierung lösen.
|
Pfuschlösung also. Sorge lieber dafür, dass es in der richtigen Reihenfolge initialisiert wird. Bei ungünstigen Timings tritt das Problem sonst wieder auf.
|

09-07-2015, 09:26
|
Me7z
Registrierter Benutzer
|
|
Registriert seit: Sep 2013
Beiträge: 51
|
|
Zitat:
Zitat von h3ll
Pfuschlösung also.
|
Bin für neue Vorschläge gerne offen  . Habe das ganze aber richtig initialisiert, das Problem ist, dass die Infobox. js anscheinend nur teilweise geladen war und die Initialisierung der Map schon angefangen hatte, daher war infobox.open undefined, mit der Verzögerung meinte ich, dass ich der Infobox. js nun die Zeit gegeben habe sich vollständig einzubinden.
|

09-07-2015, 21:32
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.611
|
|
Zitat:
Zitat von Me7z
Bin für neue Vorschläge gerne offen  . Habe das ganze aber richtig initialisiert, das Problem ist, dass die Infobox. js anscheinend nur teilweise geladen war und die Initialisierung der Map schon angefangen hatte, daher war infobox.open undefined, mit der Verzögerung meinte ich, dass ich der Infobox. js nun die Zeit gegeben habe sich vollständig einzubinden.
|
Und wenn sie mal länger zu laden braucht, als du ihr Zeit gibst?
Es gibt load-Events im Browser. Die sind nicht aus Spaß da.
|

10-07-2015, 10:22
|
Me7z
Registrierter Benutzer
|
|
Registriert seit: Sep 2013
Beiträge: 51
|
|
Zitat:
Zitat von h3ll
Es gibt load-Events im Browser. Die sind nicht aus Spaß da.
|
Das Load Event kann ich aber nicht benutzen, da ich die Seite auf der die Map eingebunden wird nicht beeinflussen kann. Mittlerweile hat sich das Thema mit JQuery erledigt, da es anscheinend nicht mehr der Anforderung entsprach. Das Ganze soll nun mittel XMLHttpRequest abgewickelt werden, was eine erneute Frage von mir aufwirft und zwar bekomme ich das selbe Ergebnis wie bei $.get mittels
PHP-Code:
function httpGet(theUrl)
{
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false );
xmlHttp.send( null );
alert(xmlHttp.response);
return xmlHttp.response;
}
Hierbei liegt das Problem jedoch, dass ich nicht auf den Code der dadurch übermittelt wird zugreifen kann - sprich ein einfaches alert("Test"); funktiniert nicht. Gibt es eine Möglichkeit auf den Code innerhab von response zuzugreifen?
|

10-07-2015, 19:20
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.611
|
|
Davon würde ich abraten. Das macht alles nur umständlicher und fehleranfälliger. Verwende ein Framework, das sich um AJAX-Abfragen kümmert.
|

13-07-2015, 09:24
|
Me7z
Registrierter Benutzer
|
|
Registriert seit: Sep 2013
Beiträge: 51
|
|
Leider kann ich kein Framework verwenden, da die Anforderung aktuell so ist das nur mit Javascript zu lösen.. Ist das überhaupt möglich ?
|

13-07-2015, 21:18
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.611
|
|
Zitat:
Zitat von Me7z
Leider kann ich kein Framework verwenden, da die Anforderung aktuell so ist das nur mit Javascript zu lösen..
|
Dann solltest du gleich mal die 10fache Arbeitszeit einplanen und das deinem Auftraggeber auch so mitteilen. Ob er noch immer auf diese Einstellung beharrt, wenn er solche Spezialwünsche zahlen muss?
Zitat:
Zitat von Me7z
Ist das überhaupt möglich ?
|
Möglich ist vieles. Vernünftig aber nicht.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Ähnliche Themen
|
Thema |
Autor |
Forum |
Antworten |
Letzter Beitrag |
Javascipt: Bei Klick auf ein <div> borderColor von <div> verändern
|
KarlKoks |
HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS |
3 |
12-08-2010 18:27 |
Wie kann ich Inhalt mit InnerHTML in ein iFrame laden?
|
BananaJo |
HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS |
2 |
22-08-2008 14:40 |
[Funktion] Laden bevor Inhalt angezeigt wird.
|
KerS1989 |
HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS |
7 |
04-07-2008 10:11 |
div in div abhängig vom Inhalt zentriert
|
jmc |
HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS |
5 |
22-09-2006 13:44 |
template, div laden
|
scholl06 |
HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS |
5 |
11-06-2005 22:41 |
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|