Home arrow Extensions arrow GreyBox

5月
26
2008

GreyBoxが動かない(2) : GreyBox Show Plugin

diggに追加!

前記事でGreyBoxが使っているJavascrptライブラリであるAJSライブラリでのwindow.onloadを書きました。

続いて他のJavascriptライブラリでのwindow.onloadの書き方を・・・。

AJSライブラリではこう書きました。

 AJS.AEV(window, 'load', function() {  
     alert('after AJS');  
     alert('body');  
     GB_show("Hello world", "http://google.com");  
     alert('before call AJS');  
 });  

これをJQueryで書くと

jQuery(function(){
	alert('after AJS');  
	alert('body');
	GB_show("Hello world", "http://google.com");
	alert('before call AJS'); 
});

Prototype

Event.Observe( window, "load", function(){
	alert('after AJS');  
	alert('body');
	GB_show("Hello world", "http://google.com");
	alert('before call AJS'); 
});

mootools

window.addEvent('domready', function(){
	alert('after AJS');  
	alert('body');
	GB_show("Hello world", "http://google.com");
	alert('before call AJS'); 
});

となります。

特定のライブラリに依存している(特定のJavascriptライブラリを必ずページ毎に読み込んでいる)場合ならそのライブラリの書き方で書いた方がスマートですね。

テンプレートや、エクステンションを追加・変更したとき、今まで動いていたJavascriptが動かなくなったらまず、onloadをソースから探してみると意外にそこに原因があったりするので解決の近道になるかもしれません。

Joomla!で作られたサイトを見ているとエクステンションにより、使っているJavascriptライブラリが異なっているのでしょうが、3つ以上のライブラリを読み込んでいるサイトもあります。ですが、通信速度のことを考えないならばそれで動作していればそれで良いと思っています。書き直すってのも無理があるし、特定のライブラリに依存したものだけを探すのも難しいですしね。

今回、これを書いていてエクステンションを作るとき、Javascriptライブラリを利用するなら複数のライブラリに対応させるようにした方が良いかもしれないと思いました。(するかどうかは別ですけど・・・。)パラメータで切り替えできれば、複数のライブラリを利用せずにすみますね。今までもそうですが、そのライブラリを出力するかしないかのパラメータは、なるべくつけるようにしています。

 

Related Articles

フォーラム閑古鳥をオープンしてみました
Fireboardフォーラムコンポーネントを使ってフォーラムをオープンしてみました。 上部の「Forum」メニューからどうぞ。 以前からインストールはしていたものの、少しずつ日本...
以前にご紹介したHttpLoggerに
以前にご紹介したHttpLoggerに脆弱性が存在するそうです。 HttpLogger におけるクロスサイトスクリプティングの脆弱性 ご紹介しながら、自身の環境再構築時にインストールしていませんでし...
テンプレートを変更してみました
最初に・・・ トップページでリンクさせていただいていたサイトをトップメニューからのリンクページに変更させていただきましたのでこの場を借りてお断りいたします。   新しいエクステンション...
Google Custom Searchを使って検索結果を自分のサイトで表示する
フォーラムでforum.joomla.orgのようにmod_google_custom_searchで表示できないかと聞かれたのですが、このモジュールではforum.joomla.orgのような表示は...
mod Google Video Bar モジュールをUpdateしました
Google Video Bar Module 1.5をアップデート(1.5.1)しました。 いくつかのバグを修正しました。 チャンネルか、フィードが設定されていないと正しく動かない マルチバイト...
DOCOMO用のXML-RPCクライアント
DOCOMO用のXML-RPCクライアントを配布されていました。以下で配布されています。 FOMA用 それ以外? サイトをよく見ていないのでもっと新しいバージョンがあるかもしれません。DOCO...
Joomla!1.5日本語SEF : Hack
Joomla!1.5では、英語タイトルなら自動でタイトルを付加したSEF-URLにしてくれるのですが、日本語だと番号だけになってしまいます。真偽は定かではありませんが、日本語でもURLエンコードされ...
Joomla! 1.0.13 Demo
Joomla! 1.0.13のDemoを作成しました。 http://demo10.joomler.net/  確認のため英語版でのデモサイトです。  ...
HttpLogger : これいいかも
これ、いいかもしれません。以前にFirefoxのアドオンでScrapbookのことを書きましたが、Scrapbookに取り込み忘れた場合に有効かと思います。ただし、ブラウザの履歴に残っていな...
Google Video Search モジュール Update!!
Google Video Search モジュールをアップデートしました。(1.1.0) 変更点 ファイルはUTF-8フォーマットですが、すべて英語表記としました。 Google Custo...
Google Docsからの投稿について(2): MovableType XML-RPC
追記:mod Google Video Bar
Fireboardを1.0.4にアップデートしてみました
fireboardのログイン
!JoomlaComment 2.40 JP
コンポーネント作成で参考になる:Joomla! 1.5
XMLで再びはまる
以前のFireBoardの変更点について
Ajax RSS Translation Reader Update!!
QRcode Module を作成してみました

C_square_trans.png Components
Joomla! Extensions
M_square_trans.png Modules
Joomla! Extensions
P_square_trans.png Plugins
Joomla! Extensions
Templates
Joomla! Extensions
a_delphi.gif Delphi for PHP
Delphi for PHP related

for Mobile