« February 2006 | Main | April 2006 »

外部XSLオプション

March 29, 2006

AoD RSSをクリックしたり、検索してポップアップするブラウザのアドレス欄のURL
(もしくは、RSS Auto-Discovery からRSSリーダーに登録されるURL)に
&xsl=<xslのURL>
を付けると自分のオリジナルのXSL、CSSを使用するようにしました。

フィーダー自体のXSLを変更できるようにするUIをどうするかはまだ考え中です。

AoDのRSSとXSL+CSSの内容を見ながら、いろいろ試してみて下さい。

これは知ってる人じゃないと出来ないから、
このまま隠れ仕様でいいと思うけど。。。

ユン

PS:
ちなみに、「アメリカデザイン日記」さんの場合、ロゴとか入れてみると。。。AoD RSS

実装:検索ボックス

検索ボックスを早速付けてみた。

検索結果はRSSで出力されるので、フィーダーのRSS配信と同じで、
いろいろ使い回せますね。

しかも、外部XSLオプションをこっそり追加すると、
オリジナルのショッピングページが作れちゃいますよ。きっと。

さて?外部XSLオプションは、どうやって実装しようかな?

ユン

[アイデア]検索ボックス

March 28, 2006

某デザイナ氏のアイデアですが、
フィーダーやRSSのXSLに検索ボックスをつけてみてはどうか?
っていうんですけど。

そうすると、
一度フィーダーを作ると、訪問者が自由にカテゴリを選択して、キーワード検索できるようになる。
しかも、検索結果は全てそのフィーダーを作成した人のアフィリエイトリンクになっている!

最近楽天が始めた「お手軽ジャンル カスタマイズリンク」に似てるかも。

ミニショッピングサイトの出来上がりって訳。

もう一つ。
RSSのXSLに外部(各サイト独自)のものを使えるようにしよう。
データはRSSなんでXSLも簡単に作れて、よりカスタマイズ出来る!

うーん。
アイデア出まくりでんな。

ユン

RSS+XSLT=XHTML

生のRSSの出力から、XSLを通してXHTMLに変換して、
かつ、
RSS Auto-Discovery にも対応させてみました!

これで、
RSSのアイコンをクリックすると、XMLじゃなくて、XHTMLに変換されて、
AoDフィーダーらしい表示がされるようになりました。

さらに、
ブラウザのRSSリーダーに登録するためのアイコンも出てくるよ。

でも、今度はMozilla系ブラウザで問題が。。。

RSS内のHTMLコンテンツは全てエスケープされていて、HTMLタグがそのまま表示されてしまう。

それを回避するのには、
disable-output-escaping="yes"
って xsl:value-of のアトリビュートを使うんだけど、
これが、
「Mozilla系のブラウザだと認識されず、Bugzilla にも上がってるんだけど、今後も修正されない。」
ってこと。
(今回、IEは賢かった!)

さすが先駆者はいるもので、disable-output-escaping を認識するかしないかを判断して、エスケープを強制的に無効にするためのスクリプトが世の中には存在してました。
それをセットして、問題解決!

またまた、勉強になりました。

ユン

RSS配信

March 27, 2006

こっそり追加してみたんですけど。。。(気付いてもらえるかな?)

果たして使い道があるのでしょうか?

ちょっと考えてみた。

1.普通にブラウザのブックマークやRSSリーダーに登録してみる。
    お気に入り商品のブックマークが出来たよ。

2.ソーシャルブックマークに登録してみる。
    ソーシャルブックマークでアフィリエイト!?

3.タグが使えないブログでも、ブックマーク(プラグイン)やリンクとして貼ってみる。
    サポートするブログやサイトが増えるかも。。。

4.いっそのこと、HTMLのMETAタグに書いてしまうとか。
    ライブブックマーク(FireFox)してもらえるかもよ。

意外といいかも?

ユン

SEO対策

「対策を考えてみようと思います。」
ってことで、考えてみた。

でも、結局、タグを生成する時に静的に情報を埋め込んでおくしかない。
それは、タグ作成時に出来るには出来るけど、
Myフィーダーからフィード内容を変えると意味がなくなるし。。。

しかも、フィーダーを記事に貼る場合、
その記事のタイトルや内容が既にSEOになってる訳だから、
いいのかな?
ってことでこの件は終了します。

ユン

[アイデア]RSS配信

March 24, 2006

AoDでフィードしている内容をRSSとして配信しても面白いんじゃないかというアイデアが出たんですけど。。。

つづく。。。

[アイデア]SEO対策

今、JavaScriptでフィード内容を動的に生成しているので、SEO的にはイマイチですよね。

ちょっと対策を考えてみようと思います。

つづく。。。

バグフィックス

March 23, 2006

いやぁ~。ぽりぽり^^

やっぱり、まだバグありましたねぇ。

「一部のサイトで、『関連する商品』ボタンをクリックして表示されるボックスが変な位置に出る場合がある。」
を修正しました。
(但し、前回書いた<iframe>でidが必要なのは変わりません。)

これもいろいろなサイトに貼って頂いたおかげです。
ありがとうございます。

ユン

こっそりコード整理^^

March 22, 2006

実は昨日こっそり修正しました。

またまた、IEですよ。微妙にDOMの動作が違います。

さて、
「高度な設定」って<iframe>使って、
複数のフィーダーのサンプルを表示しているところが、通常と違うところ。

その場合、DOMのcloneNode()が使えない。
IE以外は、iframeの中からremoveChild()して、
parentにappendChild()したらうまく動いたんだけど。。。(いいのか?)
IEで動かないのが正しかったりして。
つーことで、ちまちま内容をコピーするコードを書いてたんだけど。。。

昨日、importNode in IE っつーのを偶然発見!

正式にはimportNode()だったんですね。
でも、IEはimportNode()をインプリしてない!?
そこで、上記コードを参考に綺麗に出来ましたっ。

それから、
リロードした時にエラーが出てしまったのを直して、これで完成か?!

いろいろ勉強になるなぁ。
ユン

PS:
修正しといて良かった!
ほしのあきの動画、画像、グラビア、壁紙、アイコラ
で早速<iframe>使ってますね。
(「ほしのあき」可愛いっすね。でもそれ以外のバナーが。。。オフィスでは、ちょっと恥ずかしかった。)

でも、「関連する商品」ボタンをクリックした時の位置計算が。。。
実は、<iframe>にフィーダーの<div>と同じidを付けないと、parentの位置計算が出来ないんですよぉ。
ま、むちゃむちゃ変じゃないから良いけど。

IEでまたまた問題!?

March 17, 2006

社長のブログがAoDを貼った後、IEで見るとレイアウトが崩れていた。
っつーことでお叱りを頂きましたが。。。

デザイナの某氏に聞いたところ、
IEのCSSエンジンは、フロートさせたときに
フロート一つ目のマージンとパディングを2倍取る!
つー現象があったりなかったりするらしい。
例えば、高度な設定で、オーバーフローのスクロールバーの分、
マージンを右に10px取ってる↓んだけど、こういうのがやばいらしい。

.aod_feeder {
float: left;
margin: 10px 10px 0 0 ;
padding: 0;
/*** ↓横幅↓ ***/
width: 220px;
/*** ↓高さ↓ ***/
height: 315px;
/*** ↓下の一行を削除すれば、スクロールしません↓ ***/
overflow: auto;
}

で。

.aod_feeder {
float: left;
margin: 10px 5px 0 0 ;
padding: 0;
/*** ↓横幅↓ ***/
width: 220px;
/*** ↓高さ↓ ***/
height: 315px;
/*** ↓下の一行を削除すれば、スクロールしません↓ ***/
overflow: auto;
}
html>body .aod_feeder {
    margin: 10px 10px 0 0 ;
}

のようにすれば、
IEでは5px X 2、FireFoxとかでは10pxになるのでは、ないかと。。。

んーん。
奥が深すぎる。。。

ユン

一先ず落ち着いたかな

March 16, 2006

さて、
マイナーバージョンアップや細かいバグ修正も一段落した感じです。

「Myフィーダー」でチラッと見せていた「ビッダーズアフィリエイト」「電脳卸」用のタグ作成オプションは、状況を見てご要望があれば追加したいと思います。

その他、ご意見ご要望があれば、「お問い合わせ」フォームからか、直接こちらにコメント下さい。
出来る限り対応致します。

안녕~
ユン

A8.netで楽天アフィリエイト

March 15, 2006

楽天アフィリエイトのA8.net版を追加しました。

こっちだと、楽天ポイントじゃなくて現金で返ってくるんだよね。
でも、料率が一律1%なんだって。どうなんだろ?

さて、A8.netで楽天のアフィリエイトIDについてですが、
楽天アフィリエイトと同じように毎回いちいちリンク作成しますが、IDは固定のようです。

例えば、A8.netの楽天アフィリエイトページでリンク作成すると、
http://px.a8.net/svt/ejp?a8mat=U2KQT+4IJCXE+5WS+BWVTD&a8ejpredirect=<実際の楽天への商品リンク>
っていう感じのリンクになりますが、
この「U2KQT+4IJCXE+5WS+BWVTD」を入力して頂くとこちらで上記のリンクを自動生成致します。

A8.netで楽天商品のリンクを作るのって結構めんどいから、便利でしょ。

つーか、開発時間30分でした^^

ユン

BlogPlusでのテスト

↓アマゾンアソシエイトで「すべて」「中島美嘉」「売り上げ順」「5件」表示したところ。
Wait for feeding...
↓楽天アフィリエイトで「すべて」「ひざまくら」「新着順」「2件」表示したところ。
Wait for feeding...

CSSは「高度な設定2」のものをコピー&ペースト。
上記のような並べ方は、この記事のソースを参考にしてね。

ユン

楽天アフィリエイト対応(β版)

March 14, 2006

実装が遅れておりました、
カテゴリ検索、表示順、関連商品、Myフィーダー
に対応しました!

楽天アフィリエイトでの「関連商品」の表示方法ですが、
アマゾンと違って専用のAPIが無く、しかも関連商品という機能自体も無いので、
検索に引っかかった10位以下のものを順次表示するようにしました。
これも言ってみれば関連商品と言えなくも無いし^^

しかし、楽天は別のショップで同じものを売ってたりするので、ショップ名も出さないと見分けがつきませんねぇ。。。。。。
今対応しました。

ユン

楽天アフィリエイト対応(α版)

March 13, 2006

お待たせしました!

まだまだ機能不足ですが、暫定版の公開です。

今後、カテゴリ検索、表示順、関連商品、Myフィーダーにもちゃんと対応させますので、
それまでは、タグ作成のみですが、お試し頂けます。
なので、今はキーワード内で組み合わせて絞り込んで下さい

さて、楽天アフィリエイトのアフィリエイトIDについてですが、
楽天アフィリエイトページでリンク作成する時に毎回動的に生成されているらしく、固定ではありません。(たぶん。。。)

ですが、一度作成したものは、ずーっと使えそうな感じなんです。(ほんとか?)
例えば、楽天アフィリエイトページでリンク作成すると、
http://pt.afl.rakuten.co.jp/c/0272ed90.840d8364/?url=<実際の商品リンク>
っていう感じのリンクになりますが、
この「0272ed90.840d8364」を入力して頂くとこちらで上記のリンクを自動生成致します。

あとは。。。
&alpha;版なんで、笑って許して下さい^^

ユン

Myフィーダー完成!

March 09, 2006

やっと出来ましたよ。「Myフィーダー」。

どうですか?

使用感や不具合情報、ご意見、ご要望をどしどしお願いします。

ちょっと怖いけど。

さあ、次に取り掛からねば。。。

ユン

Myフィーダー

March 07, 2006

今作成中の「Myフィーダー」、
メールアドレスを登録すると自動的に仮パスワードを発行して、
ログイン出来るようになる予定です。
※メールアドレスを登録しなくても、今まで通りに使用も可能です。

そこでは、
今までに(もしかしたら、これから)作成したタグを
修正(検索キーワードを変更、商品数を変更)したり、
要らなくなったタグを削除したり出来るようになります。

これで、例えばサイドバーに貼っている場合、タグを貼り直さなくても、
内容を好きな時に変更できるようになります。

あと、貼ったけど、アマゾンで商品が検索してもヒットしなくなったものとかを、
新しいキーワードで検索し直せます。

これとは別に、もう一つ大事なバージョンアップがあるんだけど、
それはまだ秘密です^^

ユン

PS:
メールアドレスをGetしたからって、どうこうしようとしているわけじゃありませんので、ご心配無く。
メールアドレスが一番一意性に優れていると思われるからです。
また、念の為繰り返しますが、今後どんな機能追加をしても、
無料です!

日曜ディナーミーティング

March 06, 2006

とりあえず、このフィーダーはこんな感じで次へ進もうと思ってたんだけど。

昨日のミーティングで、機能追加を前倒しで行うことに決定。

早速取り掛かっております。

データベースの構造から見直して、若干変更を加えました。

今日明日はちょっと不安定になるかも知れませんが、
これでもっと便利になる予定なので、楽しみに待っていて下さい。

もし、不具合が発生した場合は、古いスクリプトがブラウザのキャッシュに残っている可能性があります。
コントロールキー「Ctrl」+ブラウザの更新ボタンをクリックして、強制的にスクリプトを読み直してお試し下さい。

よろしくお願い致します。

ユン

開発悲話?その2

March 05, 2006

そして、次の問題は。。。

Ajaxでは普通、非同期で裏で通信するのにXMLHttpRequestっていうオブジェクトを使うんだけど。

これってそのスクリプト(ページ)があるドメインと同じドメインとじゃないと通信出来ないでしょ?(出来るの?)

IFRAMEの中なら呼び出すスクリプトも呼び出されるサーバー側も同じこちらのドメインに出来るんだけど、

IFRAMEを止めたんで、呼び出す側のスクリプトは、各フィーダーを掲載しているバラバラのドメインになる。

なんで、XMLHttpRequestも諦めざるを得ない

これって出来るのかな?って思ってたけど、結構あっさり解決方法は見つかって。

JavaScriptってXMLHttpRequestと違ってセキュリティが甘くて、どのドメインにあるものでも自分のところにあるものとして簡単に引っ張ってきて動かすことが出来る。
しかも動的に!

つーことで、そのスクリプトを動的に生成して、動的にインクルードさせて、非同期にコンテンツを受け取るようにすれば良かったんだ。

これって、XMLHttpRequestは要らなかったってこと?

これってセキュリティ的にどうなんだろ。
何でも出来ちゃうよね。

さて、これを使って次は。。。

ユン

開発悲話?その1

March 04, 2006

もしかして良く解ってなくて恥ずかしいこと書くかも知れないけど、
こんな感じで作ってました。


こういう動的なフィーダーって良くIFRAMEタグが使われるんだけど。
それって、IFRAMEの中は独立したページ(HTML)に出来るから
フィードするサーバーのスクリプトを簡単に呼べるんですよ。
セキュリティにもやさしいし、CSSも自由にこちらで操作できるし。

AoDのようにJavaScriptを張る感じになってはいるものの、
最初にそのスクリプトがIFRAMEを書いて、
フィードは別サーバーのスクリプトで、って感じのもある。

これはこれで普通のフィーダーだったら、OKだった。

で、まず問題だったのがIFRAMEの中の別サーバーのスクリプトから、
直接IFRAMEの外のコンテンツを操作出来なかったんですよ。
(出来るの?JavaScript間で呼び出せば良かった?でも。。。)

何故そんなことするのか。。。

AoDフィーダーの「関連する商品」ポップアップはどうしてもページを自由に動き回らせたかった
から。。。
IFRAMEの中だけでポップアップしてもツマンナイでしょ。

ということは、
ポップアップするコンテンツは、フィーダーを張る各ブログ(サイト)のコンテンツとして動き回らせなければならないんよ。
しかも後付けで。

GoogleMapみたいに、マーカー情報を最初に全て作成しておくってのもいいけど、
遅いし(ある意味早いか)、Ajaxの意味無いし。。。

ポップアップする情報は要求のあったときにAjaxで取得するのが正解でしょ。

だから、IFRAMEを使うの止めたんです。

そしたら、次の問題が。。。

ユン

ひっそりと機能追加

March 03, 2006

タグ作成ページで  にマウスを持って行くと。。。

某デザイナ兼アフィリエイタさんからのご要望で
タグ作成ページの「サイトURL」「文字コード」「アソシエイトID」をクッキーに保存するようにしました。
これで、次回からは検索キーワードを入れるだけでさくさくタグが作れちゃいます。

ユン

フィーダーの稼動状況

どうもです。

フィーダーランキングにしようと思ってましたが、
総アクセス数のランキングにすると
早く掲載したものが常にトップになりそうなので、
却下!

いろいろ検討した結果、フィーダーの稼動状況を、
アクセス時間の最新のものから順に表示することにしました。
これなら、掲載したその日からトップを取ることも出来ますね。
頻繁にアクセスされる人気ブログ(サイト)が上位に来るでしょう。

ちなみに、総アクセス数(アクセスカウンタ)も残しときました。
RSSフィード(バック)は後日つけるかも。。。
重くなりそうだったら、やらないかも知れません。

つーことで、
最新の稼動状況はこちらでおま!

ユン

Opera対応

March 02, 2006

Operaでチャックし忘れてました。

動かない。。。。

どうやら、OperaではreplaceChildが使えない?らしいです。

で、対策、対策っと。
if (window.opera) {
    div.removeChild(dynld);
    div.appendChild(script);
}
else {
    div.replaceChild(script,dynld);
}

上手く行きました。

ユン

フィーダーランキング

March 01, 2006

ちょっとづつ試用して頂いているサイトが増えてきているようです。

そこでご相談なんですが。。。

実は、フィーダーが表示される度に、カウントを取るようになってまして。
簡単なアクセスカウンタとしてもお使い頂けるんです。まだ表示してませんが。
ちなみに「関連する商品」ボタンのクリック数も取ってます。

そこで、フィーダー表示数に応じたアクセスランキングを公開できるかも、
とか思ってしまって。。。
これってどうですかね。

<表示内容(案)>
アクセスランク
アクセス数
検索カテゴリ/キーワード
ブログ(サイト)URL
さらに、そのブログのRSSフィードをPopupして表示とか。
またまたアフィリエイタさんにはアクセスアップにつながりますよね。
ある意味、Pingサーバーやランキングサイトみたいな。

ちょっと良くないですか?

ユン

IEへのフィード

ごあいさつでも書きましたが、
一部のサイトで、
AoDフィーダーをIEで表示すると、
JavaScriptの例外が発生して、
ページ全体が表示されなくなる現象が発生しています。

現在調査中です.
どうやら、
別のJavaScriptと、Ajaxライブラリとの混在が原因のような気がするのですが、
まだはっきりとしたことは解っていません。

すみませんです。

とりあえず、IEへのフィードは一時的に停止することにしました。

ユン

PS:
他のブラウザではちゃんと表示されます。(はず。。。ちょっと弱気)

<!-================================================-->
ここから追記。

原因はIEでした。
グーグルマップでも起きるときは起きるみたいです。↓
参考記事:Google Groups : Google-Maps-API:IE error... tried to fix

で、対策ですが、
「動的にJavaScriptをプッシュした後に、
そのコンテンツに対して何か操作する場合は、
遅延時間を入れなければならない。」
ということらしいです。

具体的には、
div.innerHTML = "動的コンテンツ";
xxx = div.getElementById('xxx');
...
で、xxxに対して何かしようとすると。。。

innerHTMLへの展開に時間がかかっている感じです。

で、
div.innerHTML = "動的コンテンツ";
var timer = setTimeout(function() {
    xxx = div.getElementById('xxx');
    ...
}, 5000) ;(←遅延時間はコンテンツによって調整)
とかすると、上手く行きました。

ユン