x-retro provides custom elements for retro emulators.
Add this to your head:
<script src="https://matthewbauer.us/x-retro.js"></script>
and put this in your body:
<canvas is="x-retro" src="/my-super-nintendo-rom.sfc" core="snes9x-next" autostart></canvas>
Visit https://matthewbauer.us/x-retro/ for a demo.
git clone https://github.com/matthewbauer/x-retro.git
cd x-retro
npm install
npm start
Navigate to localhost:8080
Look at the open issues and make pull request.