Google sites(サイト)でJavaScriptを実行させる
前の記事でjavascriptのデモ画面を作ろうと思い立ち、Google サイトがちょうどいいかなと思ったけど、Google サイトではスクリプトを実行できない。それを何とか実装させたときのメモ。
scriptタグは書けないのでガジェットとして追加する。
流れとしては
- 実行したいJavaScriptを書いたガジェットのXMLファイルを作成
- Googleサイトにアップロード
- ガジェットを追加するページを作成
- 挿入 → その他のガジェット → URLを指定・・・で追加したXMLのアドレスを指定
という感じ。
下の例ではblink.xmlというファイルをアップロードした。トップレベルにアップロードしないと使えなかった。
このXMLファイルの中身は次のような感じ。
<?xml version="1.0" encoding="UTF-8" ?> <Module> <ModulePrefs title="jQuery blink" title_url="" author="Daiki Suganuma" author_email="daiki.suganuma@gmail.com" author_affiliation="" author_location="Nagoya,Japan" author_photo="" author_link="http://se-suganuma.blogspot.com/" description="" thumbnail="" screenshot ="" height="" width="" > <Locale lang="ja" country="jp" /> <Require feature="dynamic-height" /> </ModulePrefs> <Content type="html"><![CDATA[ <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("jquery", "1"); google.load("jqueryui", "1"); </script> <script type="text/javascript"> $(function() { //jQuery UI theme load $('<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/redmond/jquery-ui.css" type="text/css" media="screen">').appendTo("head"); //button $(".blink").button(); //点滅させる setInterval(function(){ $(".blink").effect("highlight",{},800); }, 1000); }); </script> <button class="blink">点滅</button> ]]> </Content> </Module>
ガジェットとして指定するURLは
http://sites.google.com/site/sesuganuma/blink.xml
というようなアドレスで大丈夫。
まぁ実現してみたけど、bloggerの記事内にscriptタグを書いた方が早かった・・・・
<関連記事>