the precompiled vulkan blobs on fte's svn were built via glslangvalidator that came with version 220.127.116.11 of lunarg's vulkan sdk.
later versions seemed to cause unexplained crashes (either with the validation layers or nvidia's drivers, not sure which now), so I never really tried to get the build system to recompile them automatically.
and because of that I missed a few extra vulkan .glsl files (I only realised when I noticed a lack of VK for your bloom). those should be committed now, at least. I assume that's what you meant by 'missing extensions'.
the emscripten stuff should generate:
ftewebgl.html (provide your own alternative if you think you can make a posher webpage for it)
ftewebgl.js (the game engine itself)
ftewebgl.js.mem (the .data section, as it were)
Place all three files on a web server and load the html file in your browser and it'll start up fte, which will attempt to also download ftewebgl.html.fmf (by default), which should tell it where to get its paks/pk3s from. You can find a few examples at http://triptohell.info/moodles/web/
Ideally you'll set up your server to use 'content-encoding: gzip' for the js+mem+pak+pk3 files, ideally cached serverside.
If you wish to connect to servers, you may need 'Access-Control-Allow-Origin: *' as another http header provided by your web server, while game servers require sv_port_tcp set to a suitable port. Note that I set up fte servers to automatically redirect to the version on triptohell if you try loading that tcp port with a web browser, which is a fun trick (indeed I used php to ensure those http headers were set correctly for this to work efficiently). Obviously, pak1.pak+copyrighted type stuff will always be a problem that can only be solved with stand-alone mods.
If you've got a linux/cygwin system, you should be able to play around with the build scripts I added to the svn. one configures (and installs dependancies like emscripten or android), the other recompiles the various (cross-)targets that you selected. That's the theory anyway.