Simple operation of the 8 kilobyte script(3 if stripped of all comments) is made incredibly simple. Just throw a <script> tag into every page that will have an iFrame around it, and the script will take care of the rest! This should be done at the template level.
For more precise control, you can either change the constants, or the parameters. To add a parameter, you need to add a respective data-* to the script. Please note that only one script can be active at a given time, so changing these parameters on two pages that have more scripts may have unpredictable results.
Controls whether or not to load a page that has a frame if it is not already in an iframe.
The iframe to observe.
The page to load, in the event that the page does not already contain the iframe.
If the page shouldn't be in the target frame, then load this page instead.
The page to load in the event that the child is not in an iframe.
The page to put in the iframe.
The frame to target by name.
The frame to be reading the load event from.
Whether or not to care if it is contained in an iframe.
Alias for window.top.history, the browser history.
Stores the current script.
Used to confirm whether or not the script has already run.
The major container that is executed only once, at the end of loading. It installs the listeners and loads the container page, if the need arises.
(All variables are accounted for in the "not in function scope" region, ironically.)
Returns the script's data-*, or placeholder if it can't find the respective data-*.
Keep in mind that all data-* is passed as lowercase in the dataset.
A translation pointer to the name position of the dataset. That sounds like jargon and it is but I'm not sure how else to explain what I did there, it's an eval statement for god's sake.
Returns true or false, depending on whether or not it was passed a string that equals the literal value "true".
The function responsible for replacing the URL in the header.
The iframe's current source path.
Fetches a #document, or returns undefined if it failed to do so.
The generated fetch request.
A conversion of the fetching request into an HTML document node.
The caught error, in the event we have one.
Default value of framePage.
Default value of frameTarget.
Default value of isChild.
Default value of frameDest.
(Constants are found on line 74 of Updater.js)