What is it?
SnapBack is an extension for Safari that brings back a feature it once had: it lets you jump back to the first page in the history of the current window or tab, or to the page you marked from the contextual menu.
SnapBack is completely free, but if you like it, please consider showing your appreciation and supporting its development by making a small donation (even $1) via the PayPal button.
SnapBack 2.8 (35 KB)
It is recommended to re-launch Safari after installing and updating SnapBack, or it will not work reliably in tabs that were already open.
SnapBack remembers the first page you loaded and the last page you marked in every tab or window. As long as you haven't marked a page, snapping back will take you back to the first page you explicitely loaded (that is if you have Top Sites or Bookmarks displayed by default in new windows and tabs, SnapBack won't take you back there, but to the first page you actually loaded).
Once you marked a page (from the contextual menu invoked on the current webpage), SnapBack will always take you back to that page, with one exception: snapping back again from the page you marked will take you back to the first page you loaded. And then, of course, snapping back again would take you back to the page you marked. So that's two points you can snap back to (and cycle between) in every tab.
If you marked a page and want to mark another, you don't have to unmark the existing one first. Just mark the new page and the previous mark will be forgotten. If you just want to unmark the page you marked, snap back to it and unmark it from the contextual menu (again, invoked on the current webpage).
Also note that SnapBack really moves you in the tab's history. So after you snapped back, you can use the Back (if enabled) and Forward buttons to retrace your steps through the history. It also means that if you mark a page, go back in the history to a point before that page, and start a new branch in the history, the page you marked will no longer be in the history and your mark will be deleted.
From SnapBack's preferences pane (in the Extensions tab of Safari's Preferences window) you can choose whether to display a Snap Back command in the contextual menu or not, and you can define a hot key that will allow you to snap back from the keyboard (even if the Snap Back command isn't in the contextual menu).
You can also define a hot key to mark/unmark the current page for SnapBack. But since this action cannot be undone and it would be annoying to type the hot key by mistake when you already marked a page, by default SnapBack will ask you to confirm. You can disable that confirmation prompt by checking the Skip Confirmation Prompt checkbox.
Note that the hot keys will be active each time a webpage is in front in Safari. So if you chose Shift-S for snapping back, for example, you'd trigger a snap back each time you tried to type a capital S in a web form. Also, you cannot select only a character or only modifier keys. You have to select at least one of each or the hot key will be ignored.
A bug in the current version of Safari leads extensions to sometimes lose connection with their injected scripts in the current page when you use the history (either from Snapback or by clicking the Back/Forward buttons). When that happens, it causes snapping back to fail from that page. In this case, SnapBack now reloads the current page (which reestablishes the connection with its injected script) before executing the snap back. As a result, when that occurs you can notice a short delay (usually no more than a second) before the snap back takes place.
In order to work, SnapBack has to detect all the user actions that are recorded into Safari's browsing history (because it's impossible to tap directly into it). However this is not always possible and some conditions can lead SnapBack to get out of sync. If you try to snap back, then, there are three possibilities:
- SnapBack doesn't take you back far enough. In this case try to snap back again a couple of times and you'll usually end up where you want.
- SnapBack detects that it would take you too far back (outside of the bounds of the history). If you didn't mark a page to snap back to, SnapBack will take you back to the first page you loaded as expected and you won't notice it went out of sync.
- SnapBack detects that it would take you too far back, and you marked a page to snap back to. Then SnapBack is lost, because it doesn't know where this page is in relation to the current page. In this case, it will display a dialog box offering you to load the page you marked rather than jumping back to it. But note that this will start a new branch in the history.
Note to Safari Cookies users
By default Safari Cookies deletes every local storage files when Safari quits. Since SnapBack uses the local storage to keep track of its version number and detect when it has just been installed or updated by Safari, this would lead SnapBack to give you this message each time you launch Safari:
Here's how to solve this problem:
- Open Safari Preferences window and click the Cookies icon;
- click on Databases;
- locate "snapback.flip.macrobyte.net" in the list, and tick the checkbox in front of it to mark it as favorite.
That's it, SnapBack should now warn you only when it has been updated.
2.8 - 9/11/2010
- By popular request, you can now define a hot key to mark/unmark the current page for SnapBack.
- Fixed a bug that led SnapBack to repeatedly trigger a reload of pages displaying an image or a pdf file but no html. (thanks again to those who reported this bug).
2.7.1 - 18/08/2010
- You can now define and use a hot key to snap back.
- More bug fixes and reliability improvements (thanks a lot to those who reported bugs and especially to Artie for his reproduce cases and additional testing!).
- Sites like extensions.apple.com where Safari prevents script injection are now dealt with (unfortunately you cannot snap back to them, but they should no longer trigger an error in SnapBack).
2.6 - 21/07/2010
- Fixed a bug that sometimes caused snapping back to fail when triggered from a page that appeared several times in the history.
- Fixed a bug that caused snapping back to fail after clicking links that didn't load a new page (like <a href="#whatever">).
- Worked around a bug (8193359) in Safari for Windows that led SnapBack to not be notified of some user actions (as a result, SnapBack should now be much more reliable on Windows).
- Worked around the Safari bug (8134079) that sometimes causes SnapBack to lose connection with its injected script, which in turn caused snapping back to fail silently.
- SnapBack now detects when it has been updated and displays a dialog informing the user and offering to open SnapBack's webpage (in a new window).
- The toolbar item is no longer required to be installed for SnapBack to work.
- Fixed the toolbar item icons that were too dim and misplaced on Windows.
- Fixed SnapBack's icon that didn't appear in the installation dialog due to wrong capitalization.
2.5 - 5/07/2010
- Almost entirely rewritten to work around a bug in Safari that completely broke SnapBack 2.0 (by causing extensions to lose connection with their injected script after using the Back and Forward buttons on some sites).
- Added an optional Snap Back command to the contextual menu and a setting to choose whether to display it or not (it's displayed by default).
- The toolbar item's icon and tooltip now change to show when snapping back would take you to the marked page or to the first page.
2.0 - 25/06/2010
- Added the ability to mark pages to snap back to (and to unmark them) from the contextual menu.
- Added support for Top Sites: if you get the Top Sites by default in new windows and tabs, SnapBack will now take you back to the first site you loaded rather than to Top Sites.
- Improved the reliability, particularly with pages that contain frames.
- Added an icon for the preferences pane.
1.0.1 - 12/06/2010
- The button is now disabled by default and after using it.
- Improved the icon a bit.
1.0 - 10/06/2010