Jul 29, 2006
萌ディタで保存と同時にSafariをリロードするデモ
リアルタイムCSS編集の第二弾。やってることあまり変わらないけど。VNCでSleipnirと同時に表示してキャプチャしてみた。
http://la.ma.la/misc/demo/realtime_cssedit2.htm
Apple scriptを使ってSafariをリロードすることができるのでWEBrickでSafariをリロードするだけのhttpサーバーを立てておいて、ファイル保存時に萌ディタから叩くようにしてみた。前回はSleipnirを使っていたけど、これでSafariでも同時に確認できるようになった。Safariリロードするためだけにサーバー立てるのはどうなのかとかdRubyとか使うのがいいのかも知れませんが、よく知らないので。httpだったら他のエディタからでもやりやすいんじゃないかと。
萌ディタ側
function XMLHttpRequest(){
return new ActiveXObject("Microsoft.XMLHTTP");
}
function reload_safari(){
var req = new XMLHttpRequest;
req.open("GET", "http://MacのIPアドレス:3811/?"+(new Date-0), true);
req.send(null);
}
// reload_safari()をf.onSaveに追加。
Mac側
#!/usr/bin/ruby
require 'webrick'
config = {
:BindAddress => '0.0.0.0',
:Port => 3811,
# :Logger => WEBrick::Log.new("log",0),
# :AccessLog => WEBrick::Log.new("log",0),
}
s = WEBrick::HTTPServer.new(config)
Signal.trap('INT') do
s.shutdown
end
reload_safari = Proc.new{
io = open '|osascript', "w"
p io
io.puts <<END;
tell application "Safari"
do JavaScript "location.reload(true)" in document 1
end tell
END
io.close
}
s.mount_proc("/", reload_safari)
s.start
あとはFirefoxとOperaなんだけど、何かいい方法あるだろうか。
Edit this entry...
wikieditish message: Ready to edit this entry.
A quick preview will be rendered here when you click "Preview" button.