Some error handling (no JS, API availability)

resolves #32