Great discussion as always, folks.
We’ve just pushed a change that copies querystrings and hash parameters down from the notebook’s parent frame to the worker, so you can now use location.search (for querystrings) and location.hash (for client-side hash parts) much more naturally.
Here’s a little demo: