JS-Interpreter - really slow, ES5 only. Allows pausing and resuming execution, while running it all on the same thread. Has an easy way to create custom APIs. This is what I ended up using.
The online world is full of content restrictions and blockades. It might not always seem like that, but look around. More and more restrictions on your movement are coming into force.
。WPS官方版本下载对此有专业解读
There are still edge cases. For example, blob: and data: media URLs are intentionally skipped by the server-side preprocessing path, and dynamically generated media that never exposes a fetchable URL can't be reconstructed this way.
The deadlock is fixed like this, and I am afraid to touch it, because it is just making the correct thread “win” the race and is not actually solving the bug.