ブラウザ上で編集可能にする designMode モード

そういえば、ローカルで HTML を編集するのに、Internet Explorer を使えばよい、というのを思い出し。

Internet Explorer 5.5 を使った 編集可能な Web ページの作成方法
http://msdn.microsoft.com/ja-jp/library/dd163916.aspx

20101217_03.jpg

実に、「IE 5.5」の頃の話なんですが、IE8 でも動きます。つーか、Firefox でも動くはず。

iframe 内でしか動かないのですが、使いどころによっては便利かなぁと。

カテゴリー: 開発 | 1件のコメント

DSi からツイッターにアクセスする方法を考察

忘備録的なメモです。

結論から言うと、XMLHttpRequest ではドメイン間を超えたアクセスができないので、プロキシを用意するしかない、らしい。

TwitterクライアントのOAuth対応(Javascript編) | tomatomax.net
http://blog.tomatomax.net/archives/2696

20101217_01.jpg

TwitAPI.js – OTCHY.NET
http://www.otchy.net/javascript/twit-api/

20101217_02.jpg

これを参照すると、

  • tomatomax.net で作っているのは、Windows デスクトップのガジェットなので、Javascript からドメイン間アクセスが可能。
    → ガジェットのほうは、可能なのです…
  • TwitAPI.js のほうは、プロキシ方式
    → コールバックを使って汎用的なんですが、kidtwi.jp にクライアントを置くことを考えると、ちょっと冗長かなぁ、と。
    → ソースを見ると statuses/update を一度 プロキシに GET で投げて、プロキシが twitter.com に POST しています。

そんな訳で、色々考えた結果。

  • Twitter アカウントの作成は、DSi から PHP を使う。
    → あらかじめ、PC から作成しても OK だけど、DSi からの口も必要かなと。
  • アプリケーション認証部分は、PHP で作成。
    → 最初の一回だけなので、特別な URL に飛ばせば OK。
    → 認証の秘密キーは、Cookie か サーバーに保存
      (実は、この OAuth のキーをサーバーに保存するのが、セキュリティ上、問題だと思うんだがなぁ)。
  • プロキシ部分は、単純な PHP で作成。
    → クロスドメインを有効にさせるだけのもの。

こうすると、認証部分をややこしい Javascript で書かなくて済むし、DSi ブラウザから XMLHttpRequest のクロスドメインの問題も解決する、でしょう、多分。

DSi ブラウザからの通知は、XMLHttpRequest を使って送信。戻り値は、json あたりで処理をすれば、クライアントの作りも楽になるかと。

 

 

 

カテゴリー: 子供ツイッター | DSi からツイッターにアクセスする方法を考察 はコメントを受け付けていません

美女LinuxブログパーツをDSiで動かす

試しに、DSi ブラウザで、美女Linux のブログパーツを動かしたところ、そこそこ動いたので、ちょっと整形しました。

http://bijo-linux.com/bp/ds8.html

20101216_02.jpg

Opera の場合

20101216_03.jpg

DSi ブラウザに合わせるために、縦 352px 横 240px に合わせて、右下にロゴを透過PNGで貼り付け。

# うまく、透過できなかったので、これは後々コニカさんに作って頂くとして(苦笑)

いわゆるフォトフレーム替わりというか、DS で Linux の勉強をするというか、そんな使い方も?(どんな使い方?)もできるかなぁと。

 

カテゴリー: 開発, ブログパーツ | 2件のコメント

wp-lightpop と SyntaxHighlighter で競合する場合

ちょっと、ブログを見ていたら、wp-lightpop が動いていない…

なにやら、

20101215_02.jpg

のようなエラーが出て、表示中のアニメーションのままになってしまいます。

ブログに script の貼り付けをしているし、と美女linuxのブログパーツを疑ってみたのですが、どうやら、

SyntaxHighlighter を ver.3 にアップデートした後に起こった模様でした。

で、

設定のところから、「ver.2.x」 に戻せば、無事直りました。やれやれ。

20101215_03.jpg

SyntaxHighlighter は、コードを色づけする定番プラグインなのですが、どこかおかしいのやら?

 

カテゴリー: 開発 | wp-lightpop と SyntaxHighlighter で競合する場合 はコメントを受け付けていません

コードで学ぶ ASP.NET MVC アプリケーション開発入門

連載! コードで学ぶ ASP.NET MVC アプリケーション開発入門 | Code Recipe | MSDN
http://msdn.microsoft.com/ja-jp/asp.net/gg490787

ということで、12/10の金曜日から、来年の3月までの連載記事です。

20101215_01.jpg

書籍

日経BP書店|商品詳細 - ひと目でわかるMicrosoft ASP.NET MVCアプリケーション開発入門
http://ec.nikkeibp.co.jp/item/books/P94380.html

の補遺と言いますか、記事に書ききれなかったものを、集めた解説ってな感じです。

ひと目シリーズの場合は、対象読者が初心者向けなので、難しいところはさらっと流して、最後まで作れるところを目指していますが、コードで学ぶシリーズの方は、ASP.NET MVC の深いところに突っ込んで解説&実験していきます。

子供ツイッター http://kidtwi.jp/ もリンクして頂けたので、がしがし年末年始に作ります、ってことで。

 

 

カテゴリー: 書籍 | 3件のコメント

DSiブラウザで算数ゲーム

ちまちまと、半日ぐらい HTML と Javascript を弄って、これくらいできました。

20101210_01.jpg

詳しいソースは後で載せるとして、動かしたい貴重な方は、

http://kidtwi.jp/dsi

から、「さんすう」→「かずあて」 で辿ってください。

ブラウザでも普通に動きます(…面白くありませんが)。

20101210_02.jpg

一応、Opera をダウンロードして動作確認をしてみました。

作成するときのポイントを軽く列記しておくと。

  • フォント指定は、xx-small, x-small, small の3種類のみ
    → font-size でポイント指定はできない。
  • position の absolute と relative が同じ動きをしている、ような気がする。
    → どちらも absolute な感じの動き。
  • body の pdding:0; margin:0 を忘れずに。

あと、onload 時に、

window.scrollTo(0,176);

な感じで、スクロールさせると、上画面ぴっちりになります。

 

 

カテゴリー: 開発 | DSiブラウザで算数ゲーム はコメントを受け付けていません

DSiブラウザの縦長表示でCSSを動かす

え~、しばらく放置していた、子供ツイッター http://kidtwi.jp/ ですが、再起動します。

と、言いますか、2方面の路線を上に乗せてしまおうかなと。

  • DSi でツイッタークライアント
    → 上下画面を使って、DSアプリ風に作る。
  • 低学年用の学習ツールとして使う。
    → 算数(かずあて、たしざん、ひきざん)
    → ひらがなを覚える

な学習方面です。

モバツイの真似っこ画面を HTML で組んでいたんですが、どうも上下スクロールってのは、DSi には似合わないんですよね。できるならば、

  • 上の画面で表示。
  • 下の画面で、ぽちぽちと入力

のような感じで、普通のゲーム感覚にしたい。

で、どこまで、CSS が組めるのか、Javascript が動くのか?と調べてみると、

開発/入門 – ニンテンドーDSブラウザーWiki
http://hammerspace.squares.net/DS/wiki.cgi?page=%B3%AB%C8%AF%2F%C6%FE%CC%E7

「携帯ゲーム機用Webページ」の作り方(2/4):CodeZine
http://codezine.jp/article/detail/5223?p=2

DSiブラウザで”DS”らしいアプリケーションが作れるかも知れない – ここのことはなかったことにするかも
http://d.hatena.ne.jp/yellow_73/20090407/p1

なところを調べてみると、

media を指定することで、縦長表示で CSS を使えるようになる。

<style type=”text/css”  media=”handheld”>
</style>

縦長表示を強制的に使うには次の meta タグを指定する。

<meta name=”viewport” content=”width=device-width” />

なところまで分かりました。

試してみると、position あたりは癖がある(必ず左上が基点になるらしい)のですが、文字や画像の重ね合わせもできるし、jQuery の位置指定も動いているので大丈夫そう。

製作中の tips は少しずつアップしていきます。

 

カテゴリー: 開発 | DSiブラウザの縦長表示でCSSを動かす はコメントを受け付けていません

ブログパーツをiGoolgeパーツに変換する

美女Linuxブログパーツ作成企画

Google を良く使う人ならば、iGoogleのほうが便利、というか、gmail ぐらいしかまともに表示させていないのですが。。。

20101117_04.jpg

な風に、美女Linux ブログパーツが表示できます。

作り方は簡単で、元々 javascript で作ってあるので、

<?xml version=”1.0″ encoding=”UTF-8″ ?>
<Module>
  <ModulePrefs title=”美女Linux beta6″ height=”262″ width=”212″ />
<Content type=”html”><![CDATA[
    <script src=”http://moonmile.net/js/bijo6.js” type=”text/javascript”></script>
]]></Content>
</Module>

のような xml ファイルを http://moonmile.net/js/bijo6.xml として保存しておきます。

このURLを「ガジェットの追加」のところで指定するだけです。

20101117_05.jpg

一度、指定すれば、ガジェット自身の「このガジェットを共有」のところで、リンクを作ってくれるので、これで共有ができます。

美女Linux ブログパーツを追加
http://www.google.com/ig/adde?moduleurl=http://moonmile.net/js/bijo6.xml&source=imag

20101117_06.jpg

このあたりの詳しい話は後ほど。

カテゴリー: 開発, ブログパーツ | 3件のコメント

さらに寄り道してSilverlightでブログパーツを作る

美女Linuxブログパーツ作成企画

Siverlight 4 でブログパーツを作るとこんな感じ。

20101117_03.jpg

<サンプル>

移植はすんなりできそうです。

<コード>


namespace BijoLinuxSiverlight
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
        }

        int count = 10000;
        int bcount = 0;

        private void LayoutRoot_Loaded(object sender, RoutedEventArgs e)
        {
            System.Windows.Threading.DispatcherTimer myDispatcherTimer = new System.Windows.Threading.DispatcherTimer();
            myDispatcherTimer.Interval = new TimeSpan(0, 0, 0,1, 0);
            myDispatcherTimer.Tick += new EventHandler(Each_Tick);
            myDispatcherTimer.Start();
        }

        public void Each_Tick(object o, EventArgs sender)
        {
            count++;
            if (count > 15)
            {
                count = 0;
                bcount++;
                if (bcount > 5)
                {
                    bcount = 0;
                }
                Uri uri = new Uri(&quot;http://moonmile.net/images/photo00&quot;+bcount+&quot;.png&quot;,
                    UriKind.RelativeOrAbsolute);
                ImageSource source = new BitmapImage(uri);
                bimage.Source = source;
            }
            settime();
        }
        public void settime()
        {
            DateTime now = DateTime.Now;

            string year = now.ToString(&quot;yyyy&quot;);
            string[] months = new string[] { &quot;Jan&quot;, &quot;Fev&quot;, &quot;Mar&quot;, &quot;Apl&quot;, &quot;May&quot;, &quot;Jun&quot;, &quot;Jul&quot;, &quot;Aug&quot;, &quot;Sep&quot;, &quot;Oct&quot;, &quot;Nov&quot;, &quot;Dec&quot; };
            string mon = months[ now.Month-1];
            string day = now.ToString(&quot;dd&quot;);
            string time = now.ToString(&quot;HH:mm:ss&quot;);

            bdateyear.Content = year;
            bdatemon.Content = mon;
            bdateday.Content = day;
            bdatetime.Content = time;
        }
    }
}

コード的には、これが一番すっきり…というか得意分野だけなんですが。

カテゴリー: 開発, ブログパーツ | さらに寄り道してSilverlightでブログパーツを作る はコメントを受け付けていません

試しに Flash 版のブログパーツを作ってみる

美女Linuxブログパーツ作成企画

Adobe Flash Pro CS5 体験版をダウンロードして作成してみる。

20101117_02.jpg

いやぁ、マジに初めてなもので、全く使い方が分かりません。。。が、ひとまず、こんな感じまで出来ました。

<サンプル>

画像の切り替えまでは分かったけど、外部読み込みは断念。これはまた後日。

なんか、ActionScript 3.0 から文法が変わったらしく、検索で引っ掛かる ActionScript 2.0 のものでは動かない(というか、クラスがないとか言われるし)、結構苦労しています。

ので、雑なソースですが、一応晒しておきます。

# 画像の切り替えのときに、元の「loading…」の画像が出るので、loader のところで切り替えが必要なのかなと。

import flash.display.Loader;
import flash.net.URLRequest;

bcopyright.addEventListener(MouseEvent.CLICK, fl_ClickToGoToWebPage);

function fl_ClickToGoToWebPage(event:MouseEvent):void
{
	navigateToURL(new URLRequest(&quot;http://bijo-linux.com&quot;), &quot;_blank&quot;);
}

var loader:Loader = new Loader();
bimage.addChild( loader );

now();
var count = 1000;
var bcount = 0;
var tId=setInterval(now,1000);

function now() {
  var myDate = new Date();
  var h = myDate.getHours();
  var min = myDate.getMinutes();
  var s = myDate.getSeconds();

  var year = myDate.getFullYear();
  var mon  = myDate.getMonth();
  var day  = myDate.getDate();

  hyoji(year,mon,day, h,min,s);

  count++;
  if ( count > 15 ) {
	  count = 0;
	  bcount++;
	  if ( bcount > 5 ) {
		  bcount = 0;
	  }
	  var url = new URLRequest( &quot;http://moonmile.net/images/photo00&quot;+bcount+&quot;.png&quot;);
	  loader.load( url );
  }
}
function hyoji(y,m,d,h,min,s){
  if (h<10) {
        h = &quot;0&quot;+h;
  }
  if (min<10) {
        min = &quot;0&quot;+min;
  }
  if (s<10) {
        s = &quot;0&quot;+s;
  }
  var hour = h+&quot;:&quot;+min+&quot;:&quot;+s;

  var months = [&quot;Jan&quot;,&quot;Fev&quot;,&quot;Mar&quot;,&quot;Apl&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot; ];

  bdatetime.text = hour;
  bdateyear.text = y;
  bdatemon.text  = months[m];
  bdateday.text  = d;
}

Flash 作るのに、これを買わないと駄目なんですかね?ちょっと、10万円近いのが難点…10万円の仕事があれば、受けてソフト代にする、ってのもあるけど、とか。

カテゴリー: 開発, ブログパーツ | 試しに Flash 版のブログパーツを作ってみる はコメントを受け付けていません