Слайд-шоу Google показывает пустой экран при звонке с ajax - PullRequest
0 голосов
/ 24 октября 2009

У меня проблемы с внедрением слайд-шоу Google (http://www.google.com/uds/solutions/slideshow/index.html) в мое веб-приложение при загрузке его с помощью функции jquery load ().

index.html:

<script type="text/javascript" src="jquery-1.3.2.js"></script>
<div id="moshe"></div>

<script type="text/javascript">

 $(document).ready(function(){
 $('#moshe').load('test.html');
 });

</script>

test.html:

<script type="text/javascript">
function load() {
  var samples = "http://dlc0421.googlepages.com/gfss.rss";
  var options = {
    displayTime: 2000,
    transistionTime: 600,
    linkTarget : google.feeds.LINK_TARGET_BLANK
  };
  new GFslideShow(samples, "slideshow", options);

}
google.load("feeds", "1");
google.setOnLoadCallback(load);
</script>
<div id="slideshow" class="gslideshow" style="width:300px;height:300px;position:relative; border: 2px solid blue">Loading...</div>

Когда я выполняю test.html, он отлично загружает слайд-шоу. Когда я пытаюсь загрузить файл index.html, который на самом деле вызывает функцию $ .load () Jquery, которая загружает содержимое test.html в определенный элемент div, я вижу, что галерея загружается в этот div, но когда он собирается показать изображения вся страница очищается, и все, что у меня есть, это пустая страница.

Есть идеи?


другая версия index.html без использования jquery:

<script type="text/javascript">
   function makeRequest(url) {
        var httpRequest;

       if (window.XMLHttpRequest) { // Mozilla, Safari, ...
           httpRequest = new XMLHttpRequest();
           if (httpRequest.overrideMimeType) {
               httpRequest.overrideMimeType('text/xml');
               // See note below about this line
           }
       }
       else if (window.ActiveXObject) { // IE
           try {
               httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
           }
           catch (e) {
               try {
                   httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
               }
            catch (e) {}
        }
       }

      if (!httpRequest) {
         alert('Giving up :( Cannot create an XMLHTTP instance');
         return false;
      }
      httpRequest.onreadystatechange = function() { alertContents(httpRequest); };
      httpRequest.open('GET', url, true);
     httpRequest.send('');

  }

function alertContents(httpRequest) {

    if (httpRequest.readyState == 4) {
        if (httpRequest.status == 200) {
            document.getElementById('moshe').innerHTML=httpRequest.responseText;
        } else {
            alert('There was a problem with the request.');
           }
       }

   }
makeRequest('test.html');
</script>

1 Ответ

0 голосов
/ 25 октября 2009

попробуйте поставить

$('#moshe').load('test.html');

в

$(document).ready(function(){
    $('#moshe').load('test.html');
});

также, я не знаю, скопировали ли вы это или напечатали, но у вас есть

<script style="text/javascript">

когда хочешь

<script type="text/javascript">

я лично использую:

<script language="javascript">

но я не уверен, что лучше.

...