Created
March 2, 2011 10:07
-
-
Save nbqx/850726 to your computer and use it in GitHub Desktop.
easy safari reload
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//reload safari via applescript | |
//usage: | |
//var sys = require('sys'); | |
//var SafariReloader = require('./safari_reloader'); | |
//sys.puts('Hello! This is Main'); | |
//(new SafariReloader({ | |
// target:'safari', //or webkit | |
// onError:function(err){console.log(err.toString())}, | |
// onExit:function(sc){console.log('Safari Reloaded!')} | |
//}))(); | |
var spawn = require('child_process').spawn; | |
var safari = 'tell application "Safari" to do JavaScript "location.reload(true);" in document 1'; | |
var webkit = 'tell application "WebKit" to do JavaScript "location.reload(true);" in document 1'; | |
SafariReloader.prototype = new process.EventEmitter(); | |
function SafariReloader(opt){ | |
var self = this; | |
var opt = opt || {}; | |
if(opt.target==undefined) opt.target = 'safari'; | |
var appscrt = (opt.target=="safari")? safari : webkit; | |
self.on('error', opt.onError || function(err){console.log('Err: '+err)}); | |
self.on('bye', opt.onExit || function(sc){console.log('Exit: '+sc)}); | |
return function(){ | |
var doReload = spawn("osascript",["-e",appscrt]); | |
doReload.stderr.on('data',function(data){self.emit('error',data)}); | |
doReload.on('exit',function(data){self.emit('bye',data)}); | |
} | |
} | |
module.exports = SafariReloader; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment