Hmm it turns out going through our code path for /stream is pretty slow (needs to do a bunch of checks to see what the type of the item is) so I'm hesitant to do a Location redirect as I suggested in #3 above
I think I'll use Raj's suggestion and have the JS user agent append the current location using the hash mark and window.replace. This also solves the problem of sending an non-JS user agent to a URL where state is only encoded after the hash mark.
Hmm it turns out going through our code path for /stream is pretty slow (needs to do a bunch of checks to see what the type of the item is) so I'm hesitant to do a Location redirect as I suggested in #3 above
I think I'll use Raj's suggestion and have the JS user agent append the current location using the hash mark and window.replace. This also solves the problem of sending an non-JS user agent to a URL where state is only encoded after the hash mark.
So browser-generated URLs will look like this as the user browses through the book: www.archive. org/stream/ aliceinwonderla n00carriala/ page/23# page24
http://
The canonical URL for this example as generated by the "share" functionality would be this: www.archive. org/stream/ aliceinwonderla n00carriala/ page/24
http://