mixi アプリ jQuery 準備編

jQueryを使えるようにする。

1.GAE/Pythonに静的ファイルとして、jQueryのファイルを置く。

mixiアプリ側から、jQueryのファイルを読み込ませるために、GAE/Pythonに静的ファイルとしておいておくようにする。

GAE/Pythonで、静的ファイルを取り扱うには、app.yaml に、以下の赤字の部分を追記。 jsフォルダを作成し、その下にJavascriptファイルを置くこととする。

application: typea-mixi01
version: 1
runtime: python
api_version: 1

handlers:
– url: /js
  static_dir: js

– url: /.*
  script: typea_mixi_util.py

 

jquery01

2. mixi アプリ側でjQueryを利用する

特に何も考えずに、以下のような記述をした。

<script type="text/javascript" src="http://typea-mixi01.appspot.com/js/jquery-1.3.2.js"></script>

・・・がどうもうまく動かない。Firebugで、覗くと、↑のJavascriptのURLがえらいこと↓になっている。なんじゃこりゃ。

jquery02

<script type="text/javascript" src="/gadgets/concat?rewriteMime=text/javascript&gadget=http%3A%2F%2Ftypea-info-apps.googlecode.com%2Fsvn%2Ftrunk%2Fmixi_app%2Fapps%2Fhelloworld.xml%3Fnocache%3D1%26v%3D1249576097&fp=-182800334&1=http%3A%2F%2Ftypea-mixi01.appspot.com%2Fjs%2Fjquery-1.3.2.js">

どうも、外部ファイルはOpenSocialコンテナによってキャッシュされるらしい。キャッシュされてもきちんと動作してくれればよいのだが、なにしろきちんと動いてくれない。

http://www.ark-web.jp/sandbox/wiki/3250.html
http://orkutdeveloper.blogspot.com/2008/06/rewriting-returns-to-sandbox.html

このあたりを参考に、キャッシュさせない設定を行う。以下赤字部分を追加

<Module>
  <ModulePrefs title="twitter search sample">
    <Require feature="opensocial-0.8"/>
    <Optional feature="content-rewrite">  
       <Param name="include-urls"></Param> 
       <Param name="exclude-urls">.*</Param> 
       <Param name="include-tags"></Param>
     </Optional>

  </ModulePrefs>

これで、めでたく、読み込まれるようになった。

http://semooh.jp/jquery/ を参考に、テーブルの奇数インデックス行の背景色を jQueryを使った記述に変更してみる。

html += "<tr style=’font-size:small;" + ((i % 2 == 0)?"":"background-color:#dfffff")+ "’>";
html +=   "<td>";

こんなんしてたのを・・・ 以下のように。

$(‘table#twitter tr:odd’).css(‘background-color’, ‘#dfffff’);

  jquery03

よし。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です