1

OS: windows 7

Browser: Firefox and Chrome

I have a few pages on my google site that use google apps script to collect data from a spreadsheet and display them on the page as part of the Google Apps Scripts Gadget. Recently, (within the last few days), the information that it is supposed to display from the spreadsheet is not showing up. It's just blank. The rest of the script seems to run fine, but it's difficult to tell.

I haven't changed any of the code since the last working version (I've been using this setup and code for around 2 months and it worked almost perfectly before). I debugged the functions that get the data and they are still working fine, and the data is in the same format as it was previously.

Here's the code I've been using if that helps. Site traffic is around 200 visits per month if that matters.

  function doGet() {
    var t=HtmlService.createTemplateFromFile('Practices');
    return t.evaluate();
  }


  function getData() {
    var sheet=SpreadsheetApp.openById('CORRECT SPREADSHEET KEY').getSheetByName('Practices');
    return sheet.getDataRange().getValues(); 
}

And this is the block of code in the Practices.html file that I believe is not working. (none of this data is showing up, but the rest of it is)

<div class="carousel" style="display:none;">
  <div class="items">
    <? var date= new Date(); ?>
    <? var data = getData();
     for (var i = 1; i < data.length; ++i) { ?>


      <div>
        <h3><?= data[i][0] ?></h3>
        <p>Date: <?=data[i][1].getMonth()+1 ?>/<?=data[i][1].getDate()?>/<?=data[i][1].getFullYear() ?></p>
        <p><?= data[i][2] ?> </p>
      </div>
    <? } ?>


  </div>
  </div>

I am aware there is a display:none; in this code. It is switched to show later. For some reason if the display:none; is not there it only displays the first slide, but none of the slides after it.

UPDATE: Inspected the html of the page and all the data is there, with the proper tags and structure. This led me to think it was the jquery scripts I use to animate and change the display setting. I created another page with the same jquery functions, but without having to get data from the spreadsheet and it worked fine. Although, this was not through the apps script gadget.

4

1 に答える 1

0

サンプルのスプレッドシートとスクリプトを正確なコードで作成しましたが、display:none スタイルを除いて、あなたの問題ではありません。そして、それは完全に機能しました。これは、問題が別の場所にあることを示しています。

これがスプレッドシートです: https://docs.google.com/spreadsheet/ccc?key=0AhfBwM8xuKeSdElFSXpIWllKekRyc0EwdF9uZ0VLanc

スクリプトは次のとおりです

Chrome 開発者ツールや Firefox などを使用してページを検査し、構造が存在するかどうかを確認しましたか? こちら でt.getCode()説明されているように a を呼び出して評価する前に、ページのコードを確認することもできます。

編集

HtmlService で jQuery を使用している場合、それが問題である可能性があります。Apps Script の最近のリリース (リリース ノートなし) では、jQuery の多くの機能が (他の機能と共に) 機能しなくなりましたが、エラー メッセージは表示されず、黙って動作しません。Apps Script で jQuery を使用することをあきらめたので、バグが多すぎます。私が作成したすべての新しいアプリは、バグのあるメソッドを特定 (および回避策) するのがはるかに簡単になったため、プレーンな JavaScript を使用しました。

于 2012-11-02T02:07:17.360 に答える