ã¯ããã«
ã¿ãªããããã«ã¡ã¯ïŒ 仿¥ã¯ãGoogle Waveã®ã¬ãžã§ããã®äœæãéäžã®èœãšã穎ãããã³ããããéçºãã䟿å©ãªæ¹æ³ïŒã¬ãžã§ããïŒã«ã€ããŠãã¢ã¯ã»ã·ãã«ãªæ¹æ³ã§è©±ãããšããŸãã Habréã®Google Waveããã°ã§ãwaveã®ã¬ãžã§ãããšããããã®éãã¯ãã§ã«èª¬æãããŠããŸãã å匷ã®ããã«ã¬ãžã§ãããéžãã çç±ã¯2ã€ãããŸãã
- ãããããäœæãããšãã®ããã«ããŠã§ãŒãã«è¿œå ã®é£çµ¡å
ã远å ããå¿
èŠã¯ãããŸãã
- æå°ãšã³ããªãŒãããå€-ã·ã³ãã«ãªAPIãšappspot.comããã®ç¬ç«
ãããŠããäœãæžãã¹ããããšãã質åã¯èªç¶ã«èœã¡ãŸããã Wave Previewã«ã¢ã¯ã»ã¹ããå©çšå¯èœãªæ©èœã詊ãããšãããªãŒãã£ãªãã¬ãŒã€ãŒããªãã£ãããšã«è
¹ãç«ãŠãŸããã ãªãåçãäžæ°ã«æãå
¥ããŠãåŸã§èŠãããšãã§ãããã鳿¥œã¯èŠãããšãã§ããªãã®ã§ããïŒ å®éãæãå¯èœæ§ãé«ãçç±ã¯ãJavaScriptèªäœã鳿¥œã®åçæ¹æ³ãèªèããŠããªããããã€ã³ã¿ãŒãããã§èŠã€ãããã¹ãŠã®ãœãªã¥ãŒã·ã§ã³ããã©ãã·ã¥ãã¬ãŒã€ãŒã䜿çšããŠããããã§ãã Wavesã¯ãã§ã«ããã©ãŒãã³ã¹ã®åé¡ã«çŽé¢ããŠããããã©ãã·ã¥ã¯ããªããªãœãŒã¹ãæ¶è²»ããã¢ããªã±ãŒã·ã§ã³ã§ãã ããã«ãèæ
®ããå¿
èŠããã䜿ãããã-ããšãã°ã1ã€ã®ã¡ãã»ãŒãžã§10人ã®ãã¡ã€ã«ã«10人ã®ãã¬ãŒã€ãŒã远å ããã®ã§ã¯ãªãã10åã®ãã¡ã€ã«ã®ãã¬ã€ãªã¹ããæã€1人ã®ãã¬ãŒã€ãŒãäœæããŸãã
åºæ¬ãçè§£ãã
ããããããããªæè©ïŒ ãã©ãŠã¶ãåããŠãããGoogle Waveã¬ãžã§ããã®å
¬åŒããã¥ã¢ã«ãèªãããã«
ã¿ãã³ã
åžã£ãŠããŸãã Waveã®ã¬ãžã§ããã¯ãä»ã®Googleã¬ãžã§ãããšãããã«ç°ãªãããšãããããŸããWaveãšäºææ§ã®ããã¬ãžã§ããã¯æ¬¡ã®ããšãã§ããŸãã
- ãã詳现ãªã¬ãã«ã§ç¶æ
管çã«ã¢ã¯ã»ã¹ãã
- çŸåšã®èŠèŽè
ãšWaveã®ä»ã®ãã¹ãŠã®åå è
ãèå¥ãã
- Waveåçãšã³ãžã³ã䜿çšãã
Googleåãã®ã¬ãžã§ãããäœæããã®ã¯ä»åãåããŠã§ãã¬ãžã§ããã®ç¶æ
ã管çããæ¹æ³ã«æãèå³ããããŸãããïŒ ã€ãŸããäžèšã®ãªã¹ãã®æåã®æ©èœã§ãã ãã¬ãžã§ããã®ç¶æ
ããšãã衚çŸã®ããåçŽãªäŸãã¯ããã¬ãžã§ããã®èšå®ãã§ãã ä»ã®2ã€ã®æ©èœã¯ãã§ã«ããç¹æ®åãããŠãããã¬ãžã§ããã®æ©èœã«å€§ããäŸåããŠããŸããã¬ãžã§ããã®ç¶æ
ïŒèšå®ïŒãç¶æããããšã¯ã»ãšãã©ã®å Žåå¿
èŠã§ãã
ãŸããã¬ãžã§ããã¯äœæããããŸãã«ãã®Waveã«å±ãããã¹ãŠã®èšå®ã¯Waveã«ä¿åãããã¬ãžã§ãããWaveã«è¿œå ãããŠãŒã¶ãŒã®ã¬ãã«ã§ã¯ãããŸããã ãã ããã¬ãžã§ããã¯åžžã«ããã远å ãããŠãŒã¶ãŒããèšæ¶ãããŠããŸããããã¯ç§ãã¡ã®ç®çã«ãšã£ãŠéèŠã§ãã
ã¬ãžã§ããã®æ§é ã¯éåžžã«åçŽã§ãïŒ
<? xml version ="1.0" encoding ="UTF-8" ? > < Module > < ModulePrefs title ="Hello Wave" > < Require feature ="wave-preview" /> </ ModulePrefs > < Content type ="html" > <! [CDATA[ Hello, Wave! ]] > </ Content > </ Module > * This source code was highlighted with Source Code Highlighter .
<? xml version ="1.0" encoding ="UTF-8" ? > < Module > < ModulePrefs title ="Hello Wave" > < Require feature ="wave-preview" /> </ ModulePrefs > < Content type ="html" > <! [CDATA[ Hello, Wave! ]] > </ Content > </ Module > * This source code was highlighted with Source Code Highlighter .
<? xml version ="1.0" encoding ="UTF-8" ? > < Module > < ModulePrefs title ="Hello Wave" > < Require feature ="wave-preview" /> </ ModulePrefs > < Content type ="html" > <! [CDATA[ Hello, Wave! ]] > </ Content > </ Module > * This source code was highlighted with Source Code Highlighter .
<? xml version ="1.0" encoding ="UTF-8" ? > < Module > < ModulePrefs title ="Hello Wave" > < Require feature ="wave-preview" /> </ ModulePrefs > < Content type ="html" > <! [CDATA[ Hello, Wave! ]] > </ Content > </ Module > * This source code was highlighted with Source Code Highlighter .
<? xml version ="1.0" encoding ="UTF-8" ? > < Module > < ModulePrefs title ="Hello Wave" > < Require feature ="wave-preview" /> </ ModulePrefs > < Content type ="html" > <! [CDATA[ Hello, Wave! ]] > </ Content > </ Module > * This source code was highlighted with Source Code Highlighter .
<? xml version ="1.0" encoding ="UTF-8" ? > < Module > < ModulePrefs title ="Hello Wave" > < Require feature ="wave-preview" /> </ ModulePrefs > < Content type ="html" > <! [CDATA[ Hello, Wave! ]] > </ Content > </ Module > * This source code was highlighted with Source Code Highlighter .
<? xml version ="1.0" encoding ="UTF-8" ? > < Module > < ModulePrefs title ="Hello Wave" > < Require feature ="wave-preview" /> </ ModulePrefs > < Content type ="html" > <! [CDATA[ Hello, Wave! ]] > </ Content > </ Module > * This source code was highlighted with Source Code Highlighter .
<? xml version ="1.0" encoding ="UTF-8" ? > < Module > < ModulePrefs title ="Hello Wave" > < Require feature ="wave-preview" /> </ ModulePrefs > < Content type ="html" > <! [CDATA[ Hello, Wave! ]] > </ Content > </ Module > * This source code was highlighted with Source Code Highlighter .
<? xml version ="1.0" encoding ="UTF-8" ? > < Module > < ModulePrefs title ="Hello Wave" > < Require feature ="wave-preview" /> </ ModulePrefs > < Content type ="html" > <! [CDATA[ Hello, Wave! ]] > </ Content > </ Module > * This source code was highlighted with Source Code Highlighter .
<? xml version ="1.0" encoding ="UTF-8" ? > < Module > < ModulePrefs title ="Hello Wave" > < Require feature ="wave-preview" /> </ ModulePrefs > < Content type ="html" > <! [CDATA[ Hello, Wave! ]] > </ Content > </ Module > * This source code was highlighted with Source Code Highlighter .
<? xml version ="1.0" encoding ="UTF-8" ? > < Module > < ModulePrefs title ="Hello Wave" > < Require feature ="wave-preview" /> </ ModulePrefs > < Content type ="html" > <! [CDATA[ Hello, Wave! ]] > </ Content > </ Module > * This source code was highlighted with Source Code Highlighter .
<? xml version ="1.0" encoding ="UTF-8" ? > < Module > < ModulePrefs title ="Hello Wave" > < Require feature ="wave-preview" /> </ ModulePrefs > < Content type ="html" > <! [CDATA[ Hello, Wave! ]] > </ Content > </ Module > * This source code was highlighted with Source Code Highlighter .
æ§æã¯éåžžã«ç°¡åã§ãã
<Module> -ãã®ã¬ãžã§ããããã®XMLãã¡ã€ã«ã«å«ãŸããŠããããšã瀺ããŸãã
<ModulePrefs> -ã¬ãžã§ããããã®äœæè
ãã¹ã¯ãªãŒã³ã·ã§ãããžã®ãªã³ã¯ãããã³è»ãšãã©ã¡ãŒã¿ãŒã®å°ããªã«ãŒãã«é¢ããæ
å ±ãå«ããããšãã§ããŸãã ã¿ã€ãã«ã身é·ãauthor_emailã®ã¿ãæ®ããŸããã
ããã§è¯ãäŸãèŠãããšãã§ã
ãŸãããããŠãããã§ç§ã¯ãããããç¥ããã«ãcãªçæã«åºããããŸããã ãã®ã³ãŒãã¯ããã·ã¢ã®å
¬åŒGoogleããã¥ã¢ã«ããåãããŠããŸãã 4è¡ç®ã«æ³šæããŠãã ããã
<Require feature = "wave-preview" />ãã®ããã¥ã¢ã«å
šäœã§ããã®æ¹æ³ã§èšè¿°ããå¿
èŠãããããšã¯ã©ãã«ã§ãèšèŒãããŠããŸãã è¡èªäœã¯ãã¬ãžã§ãããGoogle Wave APIãå¿
èŠãšããããšãæå³ããŸãã ãã ãããã®ãããªèŠä»¶ãããå Žåãã¬ãžã§ããã¯Firefoxã§ã®ã¿æ©èœããŸãïŒãŸã Operaã«ååšããŠããå¯èœæ§ãããããã¹ããããŠããŸããïŒã
ããã¥ã¢ã«ã§ã©ãã ãã®éã®ã¡ã¢ãåããã°ãŒã°ã«ãèŠããããã¯ããããŸãããã解決çã¯1ã€ã®äŸã§ããèŠã€ãããŸããã§ããã
< Require feature ="wave" />
* This source code was highlighted with Source Code Highlighter .
ããã¯ãWebKitãã©ãŠã¶ãŒãwave APIã«ã¢ã¯ã»ã¹ã§ããå¯äžã®æ¹æ³ã§ãã Firefoxããããªãã§ã©ã®ããã«æ©èœããã®ã ãããã ã¡ãªã¿ã«ãboxfrommars habrayuzerã
瀺åããŠããããã« ã
ãã¹ãŠãããã¥ã¢ã«ã®
è±èªçã§ æ£ããæžã
ããŠããã®ã§ãä»ã®ãšããã¯ããã«çŠç¹ãåãããã»ããè¯ãã§ãããã
次ã«ã䜿çšããã³ã³ãã³ãã®ã¿ã€ãïŒhtmlãŸãã¯urlïŒãæå®ããŸãã URLã¯ãã¬ãžã§ããããªã¢ãŒãããŒãžããã®ãã¬ãŒã ã«åã«ããŒãããããšãæå³ããŸãã htmlãéžæããxml-keã«ãã¹ãŠãèšè¿°ããŸãã
<ïŒ[CDATA [...]]> -ãã¹ãŠã®HTMLãCSSãããã³JavaScriptã³ãŒãïŒãŸãã¯å¯Ÿå¿ãããã¡ã€ã«ãžã®ãªã³ã¯ïŒãå«ãã¬ãžã§ããã®ã¡ã€ã³ã³ã³ãã³ããå«ã¿ãŸãã ãã®ã»ã¯ã·ã§ã³ã®ã³ã³ãã³ãã¯ãéåžžã®HTMLããŒãžã®bodyã¿ã°ã®ã³ã³ãã³ããšèŠãªãããå¿
èŠããããŸãã
ãã ïŒ ééã£ãèšèïŒ
Googleã¬ãžã§ããAPIãçè§£ãã
æåŸã«ããã¬ãŒã€ãŒã¬ãžã§ããã®éçºãå§ããŸãããã ç§ãèšã£ãããã«ãjavascriptã¯é³æ¥œèªäœãåçããæ¹æ³ãç¥ããŸããããããå©ããããã«ãã©ãã·ã¥ãäžããŸãã æè¿ãhapodã§uppod.ruãããžã§ã¯ãã«ã€ããŠèªãããŸããã ç»é²ãããã¬ãŒã€ãŒãšã¹ã¿ã€ã«ãäœæããããŠã³ããŒãããŸãã-çŸïŒ ãã®ãµã€ãã®è¯ããã«ãã¯ãç§ã«ãã¹ãŠã®äžæçãªç¹ãæããã«ããŸããã ãããŠãç§ã«ãšã£ãŠãŸã éåžžã«è峿·±ãã®ã¯ãjavascriptãä»ãããã¬ãŒã€ãŒå¶åŸ¡ã§ãã ãã©ãã·ã¥ãã©ã€ããJavaScriptã§å¶åŸ¡ããã®ã¯è«ççã§ããïŒ è«ççã§ãã ç§ã¯ããã«ã³ãŒããæãã詊ããŠã¿ãŸãã...
ãããŠãæ®å¿µãªãããããã¯æ©èœããŸããã ãªãã§ïŒ å®éãjavascriptã¯1ã€ã®ãã¡ã€ã³ã§å®è¡ãããå¥ã®ãã¡ã€ã³ã§ãã©ãã·ã¥ãããŸãã ã»ãã¥ãªãã£èšå®ã§ã¯ãFlash Playerãå¶åŸ¡ã§ããŸããã å°ãªããšãç§ã«ã¯ããŸããããŸããã§ããã
次ã«ãæãåçŽãªãªãã·ã§ã³ã䜿çšããŸãããã¬ãŒã€ãŒãããŒãã«çµã¿ç«ãŠãèšå®ã倿Žãããšãã«ãæ°ããinnerHTMLã䜿çšããŠãã¬ãŒã€ãŒã§divãæå®ããŸãïŒãªããŒãããŸãïŒã ãã ããããã¯éåžžãäžåºŠã ãå®è¡ãããŸã-ã¬ãžã§ãããblipã«è¿œå ãããšãã«ãéèŠã§ã¯ãªããšæããŸãã GETãªã¯ãšã¹ããä»ããŠãã€ãŸãURLã§çŽæ¥ãã¹ãŠã®èšå®ãæž¡ãããšãã§ããŸãã
ã¬ãžã§ããçšã®Wave APIã«å¿
èŠãªæ©èœãæ€èšããŠãã ããïŒãã¹ãŠã®æ©èœã¯äžèšã®ãªã³ã¯ã§èª¬æãããŠããŸãïŒã
- setStateCallbackïŒã³ãŒã«ããã¯ïŒ -ã¬ãžã§ããã®ç¶æ
ã®å€åã«å¿çãã颿°ãå®çŸ©ããŸãã ãã®ã¡ãœããã¯ãã¬ãžã§ããã§1åã ãçºçããŸãã
- wave.getStateïŒïŒ -ããŒãšå€ã®ãã¢ã®ããŒãã«ã§ããã¬ãžã§ããç¶æ
ãªããžã§ã¯ããè¿ããŸãã
ç¹å®ã®ããŒãèªã¿åãã«ã¯ã wave.getStateïŒïŒãGetïŒ 'KeyName'ïŒåŒã³åºãã䜿çšããŸã - submitDeltaïŒãã«ã¿ïŒ - ãã«ã¿ããŒãšå€ã®ãã¢ã®ããŒãã«ã远å ïŒãŸãã¯æ¢åã®ãªããžã§ã¯ããäžæžãïŒããããšã«ãããç¶æ
ãªããžã§ã¯ããæŽæ°ããŸãã äŸïŒ wave.getStateïŒïŒãSubmitDeltaïŒ{'count'ïŒ5}ïŒ
- wave.getViewerïŒïŒ -ã¬ãžã§ããã衚瀺ããŠãããŠãŒã¶ãŒãèå¥ãããªããžã§ã¯ããè¿ããŸã
- wave.getHostïŒïŒ -ãã®ã¬ãžã§ããã远å ããWaveã®åå è
ãèå¥ããŸã
ã¬ãžã§ãããäœæãããšãã¯ãç¹å®ã®ã³ãŒãæ§é ã«åŸãããšããå§ãããŸã-ããã«åŸããŸãïŒ
- èµ·åæã«åæåã®ããã«åŒã³åºãããããšãå€ãinitïŒïŒé¢æ°ã®ç¶æ
ãªããžã§ã¯ããŸãã¯åå è
ã«ã¢ã¯ã»ã¹ããªãã§ãã ããã ç¶æ
ããã³åå è
ãªããžã§ã¯ã㯠ã察å¿ããã³ãŒã«ããã¯ïŒsetParticipantCallbackããã³setStateCallbackïŒãå®äºãããŸã§æå³ã®ããå€ãæã¡ãŸãã ã Waveã®åäœãæ€èšŒããã³ãŒã«ããã¯ãç»é²ããããã«äœ¿çšã§ããŸãã
- ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹èŠçŽ ã«ãã£ãŠã€ãã³ããéä¿¡ããããšãã«ç¶æ
ãªããžã§ã¯ãã倿ŽããŸãã ããšãã°ããã¿ã³ãã¯ãªãã¯ããsubmitDeltaã®ã¿ãåŒã³åºããŸãããããã®å€æŽã圱é¿ããããšã¯äœã倿ŽããŸããã§ããã
- ããã°ã©ã ããžãã¯ãã³ãŒã«ããã¯é¢æ°ã«é
眮ããã«ã¯ãã€ãŸããã³ãŒãã®äž»èŠéšåãã³ãŒã«ããã¯é¢æ°ã«é
眮ããå¿
èŠããããŸãã ç¶æ
ãªããžã§ã¯ãïŒsetStateCallbackïŒãŸãã¯åå è
ïŒsetParticipantCallbackïŒã倿Žããããšãã³ãŒã«ããã¯é¢æ°ãåŒã³åºãããŸãã ãããã®é¢æ°ã«ã³ãŒãã远å ãããšãææ°ã®å€æŽã確å®ã«åãåãããšãã§ããŸãã
ãã®çµæãã¬ãžã§ãããèšè¿°ããããã®æ¬¡ã®ãã¹ã±ã«ãã³ããååŸããŸãã
- <ïŒ xml version = "1.0" encoding = "UTF-8" ïŒ >
- < ã¢ãžã¥ãŒã« >
- < ModulePrefs title = "TitleHere" height = "100" author_email = "mail@mail.com" >
- < æ©èœã å¿
èŠ =ãwaveã />
- </ ModulePrefs >
- < ã³ã³ãã³ã ã¿ã€ã = "html" >
- <ïŒ [CDATA [
- < div id = "content_div" style = "heightïŒ100px;" > </ div >
- < ã¹ã¯ãªãã ã¿ã€ã = "text / javascript" >
- var div = document .getElementByIdïŒ 'content_div' ïŒ;
- 颿° stateUpdatedïŒïŒ{
- }
- 颿°ã®åæåïŒïŒ{
- if ïŒwave && wave.isInWaveContainerïŒïŒïŒ{
- wave.setStateCallbackïŒstateUpdatedïŒ;
- }
- }
- gadgets.util.registerOnLoadHandlerïŒinitïŒ;
- </ ã¹ã¯ãªãã >
- ]] >
- </ ã³ã³ãã³ã >
- </ ã¢ãžã¥ãŒã« >
*ãã®ãœãŒã¹ã³ãŒãã¯ã ãœãŒã¹ã³ãŒããã€ã©ã€ã¿ãŒã§åŒ·èª¿è¡šç€ºãããŸããã
ãã¬ãŒã€ãŒã®æ©èœ
ãã¬ãŒã€ãŒã«ã¯äœãå¿
èŠã§ããïŒ ã¯ãããã¬ã€ããŸãïŒ ç¢ºãã«ãwaveã«è¿œå ããããã¡ã€ã«ãã鳿¥œãåçããããšã¯ã§ããŸãããã¬ãžã§ãããblipã«ã¢ã¯ã»ã¹ã§ããªããã察å¿ããAPIãèŠã€ãããŸããã§ããã ãããã£ãŠãã€ã³ã¿ãŒãããã®ä»ã®éšåããã®åç
§ã«ãã鳿¥œãåçããŸãã ããã«ããã®ã¬ãžã§ãããWaveã«è¿œå ãããŠãŒã¶ãŒã®ã¿ã«èšå®ã®å€æŽãèš±å¯ããæ®ãã¯å€±ãã ãã§ã-倱ãã ãã§ãïŒ ãŸããããŒãã¹ãšããŠãã¡ããã£ã奜ããªäººã®ããã«ãã¡ã€ã«ãžã®ãªã³ã¯ãäžããã®ã¯ããããšã§ãã
ãã®ããã颿°ã®ãªã¹ãïŒ
- ã€ã³ã¿ãŒãããããã®ãªã³ã¯ãä»ããŠé³æ¥œãåçãã
- èšå®ã«ã¢ã¯ã»ã¹ãããšãã¬ãžã§ãããWaveã«è¿œå ãããã ãã§ãã å¿
èŠã«å¿ããŠãèšå®ãé衚瀺ã«ããå¿
èŠããããŸãã
- ãã¬ãŒã€ãŒã®äžã®çŽæ¥ããŠã³ããŒããªã³ã¯
èšå®ãé衚瀺ã«ãªãããããã1ã€ã®æ©èœã远å ããŸããã¬ãžã§ããã¯é«ããæå°ã«èª¿æŽããŸãã ãããè¡ãã«ã¯ã
<Require feature = "dynamic-height" />ããªã¯ãšã¹ãããã¬ãžã§ããã®é«ããå€ããå Žæã§
gadgets.window.adjustHeightïŒïŒã¡ãœããã䜿çšããŸãã
ã³ãŒããååŸããïŒ
ä»»æã®ãšãã£ã¿ãŒã䜿çšããŠå®éã®ã³ãŒããæžãããšãã§ããŸããç§ã¯ãã€ã³ãã§ã¯ãªãNetBeansã䜿çšããŸããã ãããã䟿å©ãªãããã°ã®ããã«ã
Get DropBoxãµãŒãã¹ãªã©ã«æ³šæããå¿
èŠããããŸãã ãããžã§ã¯ããPublic / WavePlayerãã©ã«ããŒã«é
眮ããéãã«ã³ãŒããèšè¿°ããããæ¢åã®ã³ãŒãããããã°ããŸãã DropBoxã¯å€æŽããããã¡ã€ã«ããµãŒããŒã«èªåçã«ã¢ããããŒãããwaveãæŽæ°ããããšãã¬ãžã§ããã¯æ°ããXML仿§ãååŸããŸããããããã¯ãã£ãã·ã¥ãããŸããã ããã§ããã¬ãŒã€ãŒãã¡ã€ã«ãšãã¬ãŒã€ãŒã®ã¹ã¿ã€ã«ã·ãŒããé
眮ããŸãã ããã«install.xmlãããããããŸããã-æ°ããæ¡åŒµã€ã³ã¹ããŒã©ãŒã¬ãžã§ãããžã®ãªã³ã¯ãæäŸãã仿§ïŒç»é²äžã«èªåçã«è¿œå ãããWaveã§èŠã€ããããšãã§ãã䟿å©ãªã¬ãžã§ãããèŠã€ããããšãã§ããå ŽæïŒãã¬ãžã§ãããããã«ã«çŽæ¥ã€ã³ã¹ããŒã«ã§ããŸãïŒ
ãã®ãã¡ã€ã«ã¯ã©ã®ãããªãã®ã§ããïŒ
< extension name ="Wave mp3" description ="Play mp3 inside a Wave." >
< version > 0.2 </ version >
< author name ="Author" email ="mail@mail.com" />
< menuHook location ="toolbar" text ="Add Wave mp3 Gadget" iconUrl ="" >
< insertGadget url ="http://dl.dropbox.com/u/983333/WavePlayer_v0.2/WavePlayer.xml" />
</ menuHook >
</ extension >
* This source code was highlighted with Source Code Highlighter .
ãã®xmlã¯ãã¬ãžã§ãããžã®å¿
èŠãªãªã³ã¯ãšãããã«å
ã®ã¬ãžã§ããã®ã¢ã€ã³ã³ãåçŽã«èŠå®ããŠããŸãã
ä»ãã³ã¡ã³ããããã³ãŒããèŠãŠãã ããããããŠãç§ã¯ããã¹ãŠã驿ã«èœã¡ããšæãïŒ
<? xml version ="1.0" encoding ="UTF-8" ? >
< Module >
< ModulePrefs title ="WavePlayer" height ="115" author_email ="maksng@gmail.com" >
< Require feature ="wave" />
< Require feature ="dynamic-height" />
</ ModulePrefs >
< Content type ="html" >
<! [CDATA[
< div id ="flash_div" style ="height: 50px;" > Wave player is loading... </ div > <!-- flash -->
< div id ="showlink_div" ></ div > <!-- -->
< div id ="showSettings_div" onClick ="showSettings()" ></ div > <!-- -->
< script type ="text/javascript" >
var flashdiv = document .getElementById( 'flash_div' );
// innerHTML
var player_part_1 = '<object id="waveplayer02" type="application/x-shockwave-flash" data="" width="315" height="50"><param name="allowScriptAccess" value="always" /><param name="wmode" value="transparent" /><param name="movie" value="" /><param name="flashvars" value="comment=Wave Player v0.2&st=http://dl.dropbox.com/u/983333/WavePlayer_v0.2/main.txt&file=' ;
var player_part_2 = '" /></object>' ;
//
var mp3file = 'http://dl.dropbox.com/u/983333/worldapart_.mp3' ;
function buttonChange() { //
if (wave.getViewer() == wave.getHost()) { // , ?
mp3file = document .getElementById( "mp3file" ).value; // input
wave.getState().submitDelta({ 'mp3file' : mp3file}); //
} else { //( )
alert( "Sorry, you are not the owner of this gadget.\n\nOnly the participant who inserted this gadget in the wave (\"the owner\") can change the properties." );
}
}
function buttonHide() { //
wave.getState().submitDelta({ 'hided' : 1}); // ( )
}
function showSettings() { //
wave.getState().submitDelta({ 'hided' : 0}); // ( )
}
function waveStateUpdated() { //callback
if (wave.getState().get( 'mp3file' )) { // mp3file?
mp3file = wave.getState().get( 'mp3file' ); //
}
flashdiv.innerHTML = player_part_1 + mp3file + player_part_2; //
// ,
document .getElementById( "showlink_div" ).innerHTML = "<a href=\"" +mp3file+ "\">Download mp3!</a>" ;
if (wave.getViewer() != wave.getHost()){ // , ?
document .getElementById( "showSettings_div" ).style.display = "none" ; //,
document .getElementById( "settingsDiv" ).style.display = "none" ; //
}
else { //, ,
if (!wave.getState().get( 'hided' )){ // hided()?
document .getElementById( "showSettings_div" ).style.display = "none" ; // -
document .getElementById( "settingsDiv" ).style.display = "" ;
} else { //
var isHided = wave.getState().get( 'hided' ); //
document .getElementById( "showSettings_div" ).style.display = (isHided==1)? "" : "none" ; // -
document .getElementById( "settingsDiv" ).style.display = (isHided==1)? "none" : "" ; // -
}
}
gadgets.window.adjustHeight(); //
}
function init() { //
if (wave && wave.isInWaveContainer()) { //
wave.setStateCallback(waveStateUpdated); // Callback
}
}
gadgets.util.registerOnLoadHandler(init); // init
</ script >
< br >
< div id ="settingsDiv" >
< form name ="mainForm" >
Link to mp3 : < input type ="text" id ="mp3file" value ="" size "40" ></ input >
< input type = button value ="Change mp3!" id ="butChange" onClick ="buttonChange()" >
</ form >< br >
To view it again click on "Show settings!"
< input type = button value ="Hide!" id ="butHide" onClick ="buttonHide()" >
</ div >
]] >
</ Content >
</ Module >
* This source code was highlighted with Source Code Highlighter .
ãããŠããããç§ã®åŽåã®çµæã§ãã

䟿å©ãªãªã³ã¯
- Google Waveã¬ãžã§ããã¬ã€ã
- xmlã®è¯ãããããŒã®äŸ
- Googleã¬ãžã§ããAPIéçºè
ã¬ã€ãå
šè¬ïŒWaveã ãã§ãªãïŒ
- ã³ã¡ã³ãä»ãããã³ãªãã®ãœãŒã¹ã®ææ°ããŒãžã§ã³
æããã«ããŸã éçºããããšããããããããŸããããã¹ãŠã«æéããããŸãïŒ
ã³ã¡ã³ãã§ã¯ãå¯èœãªè³ªåã«åãã§ãçãããŸãã
ãæž
èŽããããšãããããŸããïŒ æ³¢ãæå€§éã«å®è¡ããŸãïŒ