Pretty much this. If you're actually shipping a web app (canonical example being a HTML5 video game), use Javascript; that's what it's for. A newpaper (/ blog / search engine / forum / user signup <form> / image gallery / video gallery (as opposed to player, although that should have clearly marked links to inert mp4-or-equivalent files) / file hosting service) is not a fucking app, but that doesn't mean nothing is. (Note: I don't know enough about stripe to say anything about danielskogly's specific case.)