Joomler!.net - Decided on Joomla!

Wiki or Wordpress? No it is JContentPlus.

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

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

EMailPrintPDF
4 votes
Written by:Joomler! 7757 hits Monday, 26 May 2008 16:43

前記事で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ライブラリを利用するなら複数のライブラリに対応させるようにした方が良いかもしれないと思いました。(するかどうかは別ですけど・・・。)パラメータで切り替えできれば、複数のライブラリを利用せずにすみますね。今までもそうですが、そのライブラリを出力するかしないかのパラメータは、なるべくつけるようにしています。

 

ADD A COMMENT

Subject*
:
Color Swatch




Email Link Page Code Text Align Center Text Align Justify Text Align Left Text Align Right Text Bold Text Quote Text Italic Text List Bullets Text List Numbers Text Strikethrough Text Underline World Link
Sun Unhappy Smile Evilgrin Wink Tongue Lightning Surprised Grin Rain Clouds Cloudy Snow Waii
Name*
:
EMail*
:
Please answer....
Submit Preview

JContentPlus for Joomla!1.5 powered by Joomler!.net

Related Items

joomler.net is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla!(R) name is used under a limited license from Open Source Matters in the United States and other countries.
joomler.net is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.