Tiny proof of work library for browser. It does use SubtleCrypto and async/await so it requires a secure context and a modern browser.
<script type="module">
import tinyPow from "https://unpkg.com/tiny-pow";
// use it as a module or just copy/paste the code
await tinyPow("my data", 4)
// will return the salt that has 4 zeros at the beginning of sha256("my data" + salt)
</script>