2009-06-17 9 views
0

J'ai une page avec quelques liens et un div, sur la même page que je vais charger d'autres contenus. Certains de ces contenus sont des tableaux de visualisations google. Comme un test, j'ai surgi dans le code graphique google line. La page se charge bien, mais quand j'essaye de la charger dans div (en utilisant jQuery), ça ne marche pas. Firefox dit transférer des données de google.com et ne fait rien, et IE 6 a une erreur JS en disant google est indéfini.jQuery load - Page de visualisation Google

Je ne vois pas pourquoi ce serait un problème, mais la page est sur un intranet ... si cela aide le dépannage.

Merci pour toute aide à l'avance ..

Voici le code qui charge le fichier du mainContent.html dans la div.

<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
      $("#A2W").click(function(){ 
       $("#loadContent").load("mainContent.html"); 
      }); 
     }); 
    </script> 

Contenu du mainContent.html

<html> 
    <head> 
    <script type="text/javascript" src="http://www.google.com/jsapi"></script> 
    <script type="text/javascript"> 
     google.load("visualization", "1", {packages:["linechart"]}); 
     google.setOnLoadCallback(drawChart); 
     function drawChart() { 
     var data = new google.visualization.DataTable(); 
     data.addColumn('string', 'Year'); 
     data.addColumn('number', 'Sales'); 
     data.addColumn('number', 'Expenses'); 
     data.addRows(4); 
     data.setValue(0, 0, '2004'); 
     data.setValue(0, 1, 1000); 
     data.setValue(0, 2, 400); 
     data.setValue(1, 0, '2005'); 
     data.setValue(1, 1, 1170); 
     data.setValue(1, 2, 460); 
     data.setValue(2, 0, '2006'); 
     data.setValue(2, 1, 860); 
     data.setValue(2, 2, 580); 
     data.setValue(3, 0, '2007'); 
     data.setValue(3, 1, 1030); 
     data.setValue(3, 2, 540); 

     var chart = new google.visualization.LineChart(document.getElementById('chart_div')); 
     chart.draw(data, {width: 400, height: 240, legend: 'bottom', title: 'Company Performance'}); 
     } 
    </script> 
    </head> 

    <body> 
    <div id="chart_div"></div> 
    </body> 
</html> 
+0

Pouvez-vous poster le lien afin que nous puissions voir et essayer de déboguer? :) –

+0

Juste édité ma question pour inclure du code .. –

Répondre

1

Essayer de farcir une page HTML entière dans une div, qui fait déjà partie d'une page HTML, est une recette pour un désastre. Vous allez finir avec le navigateur en essayant de savoir quoi faire avec toutes les choses qui sont au mauvais endroit. Prenez le < tête > élément que vous venez d'insérer, par exemple - devrait-il essayer de le déplacer vers le haut? Il ne peut pas rester où il est, car cela n'a aucun sens. Si elle le déplace sous le < html original >, devrait-il remplacer l'élément <existant> de tête?

Alors qu'en est-il du corps <> Il a déjà un corps <>; devrait-il jeter ça? Ah, mais il ne peut pas, car alors il jette le corps <> à l'intérieur du < html> dans le < div> ...

Autant dire que le comportement d'un navigateur quand vous faites quelque chose comme ceci est complètement indéfini, et il ne fait probablement que jeter ses mains au désespoir et ne fait rien.

+0

Wow .. qui était très perspicace ... n'a pas pensé à tous ces aspects. Je comprends ce que vous dites, donc je vais devoir jouer avec le placement des différents extraits de code pour être plus logique .. D'autres conseils à ce sujet? Est-ce que quelqu'un a déjà fait ça? (Je suis sûr que je ne suis pas le premier) –

Questions connexes