offline JavaScript