心魅 - cocoromi -

半角スペース時々全角

あまりにも暇だったのでopensocial-jquery使ってmixiアプリでこんにちはしてた

特にトピックはありません。


なーんもアイデアがない。

mixiアプリの開発効率を上げるためにやった方が良さそうなこと

「キャッシュを削除」をブックマーク
gadget.xmlはガンガンキャッシュされるので、特に学習中とかは頻繁にキャッシュの削除することになりそう。
と言うわけで、キャッシュの削除はブックマークしておこうね、と。

f:id:umezo:20090524165500p:image


gadget.xmlプログラマラブルに

上記の話にも通じるが、外部Javascriptなんかもキャッシュされたり、されなかったりする。
そこで、gadget.xmlのキャッシュ削除と同時に外部JSも新しくなるように、PHP化して登録した。
以下のような感じにしておくと、gadget.xmlのキャッシュを削除するときに、JSのキャッシュも無効になる。

<?php
    $dummy = time();
echo<<<HTML
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
    <ModulePrefs title="Umesh mixi Appli" >
        <Require feature="opensocial-0.8"/>
        <Require feature="views" />
    </ModulePrefs>

    <Content type="html" >
        <![CDATA[

            <script type="text/javascript" src="http://umezo.tsuyabu.in/js/opensocialJquery/osjq/opensocial-jquery.min.js" ></script>
            <script type="text/javascript" src="http://umezo.tsuyabu.in/mixiApp/helloworld/app.js?$dummy" ></script>
        ]]>
    </Content>
</Module>
HTML;

CSSファイルはプログラムで結合して出力

opensocialなアプリってCSSの外部ファイル読み込みできないの?
詳しくないけどそんな印象だったので、styleタグで出力した。
とはいえ、管理上はきっちり外部ファイルにしたかったので、gadget.xmlを取りに来たところで、一緒に読み込んで出力するようにした。
やっつけ。

<?php
省略
    $css = array ();
    foreach( file( "reset.css" ) as $line ){
        $css[] = $line;
    }
    foreach( file( "app.css" ) as $line ){
        $css[] = $line;
    }
    $css = join( "" , $css );
echo<<<HTML
省略
<style>
$css
</style>
以下略

mixiアプリopensocial-jqueryの$.view( "..." , { .... } )でパラメータを渡せない

$.view( VIEWS[ viewIndex ] , { viewIndex : (viewIndex + 1) } );