Home arrow Blog 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

GreyBox Show フランス語版
GreyBox Showプラグインがいつの間にかフランス語に訳されていました。Thanks! Joomla!fr. 思わずスナップショットを撮った私でした。 Joomla...
BBCodeエディタを作成してみた : Joomla!1.5
以前からコメントエクステンションを作成するために必須のBBCodeエディタを探していました。 配布できるフリーのもので体裁が良く、リンクの無いもの。こうやって書きながらなんて都合の良い条...
Google Translation API Pluginをサイトに実装してみた
まだ名前を決めていなかったので「ajax_articletranslation」と命名してデモサイトで実装してみましたが、当初はどこのサービスを使ってと特定していなかったのがその理由でした。まだ、改善...
Combine
{TR_bothnative_right} Combineという選択肢 Combineは、複数のJavascriptをワンファイルへ複数のスタイルシートを管理し、OneAccessで出力します。また...
Joomla!1.5.4がリリースされています
いつものようにhttp://demo.joomler.netを上書きアップデートしました。 アップデート方法は、以前に記事にしたのと同じです。(かなり私はショートカットしていますが) 今回の...
Google Chartか Flash Chartか
Flash Chartに一票いれます。 どちらも簡単にChartを作成できます。ですが、やはり見た目はFlashの方が上。 今後、Flashでのエクステンション制作にも力を入れていきたいと思ってい...
開設1周年を忘れていました
  本サイトは確か去年の8月(実は忘れている。間違っているかもしれない。)に開設してすでに1年を過ぎていると今気がつきました。 簡単なモジュールなどからはじまり、思いついたエクステンション...
New template with new extensions
{TR_New_BigStar} New template with new extensions. 今回は、まだ未完成ですが新しいエクステンションとの組み合わせを行っています。 JB Co...
ショートハンドなPHPが混入していました:JContent+(JContentPlus)
  さらにファイルを変更し置き換えました。ファイル名が同じなので区別が付かないと思いますが(アップロード時の手間を省くためそうしています)、21時45分くらいに置き換えていますのでそれまで...
ActionScript 3.0
かなり衝撃を受けました。 まずは、百聞は一見にしかず・・・ご覧ください。 AdobeサイトのFlash Flashでこんなことできるんですね。Flashは、全くさわったことが無いと言っていいほどわか...
Dreamweaver用エクステンション
JGTdoc の翻訳エラーメッセージ : Google AJAX Language API
コンポーネント作成で参考になる:Joomla! 1.5
コンポーネント作成で参考になる(シンプル): Joomla!1.5
Joomlaos.de : JGTdoc と WebLink Info
Joomla!エクステンションの制限
Fireboardを1.0.4にアップデートしてみました
Pinger!を作ってテストしてみた : Joomla!1.5 Pinger!
About installation of Extension
Joomla!1.5.8でGoogleMapを記事に埋め込む

joomler_kun_48.gif Blog
Joomler! Blog

for Mobile