wrap browseURL() in if(interactive())