-
Robert Knight authored
Navigations between sections of a book in VitalSource happen in several steps: 1. The iframe for the previous chapter is removed 2. An iframe is created for the new chapter. The initial load of this iframe contains a "blank" page with the chapter content in an encoded/encrypted form as hidden text in the page. 3. The chapter content data is submitted to the VS backend via a form POST request, which returns the decoded content Previously the Hypothesis client would sometimes detect the new iframe after step 2 and inject the client before step 3 had completed. As a result the client would be injected into the blank frame, then immediately unloaded, and not re-loaded into the "real" content frame. Make injection more reliable by: 1. Checking whether the content frame is a "blank" frame or not before injecting the client. 2. Listening for `load` events on the frame and re-injecting the client if the iframe is navigated
1895eec5