Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Menneisyys2

macrumors 603
Original poster
Jun 7, 2011
5,997
1,101
Guys, sorry for the new thread: the absolutely excellent WebOffline still doesn't have one (while it deserves it!). Here's a (slightly edited - removed the links to my earlier, related articles) cross-post of my latest article on fixing / avoiding its bugs, making it more reliable etc. Hope it'll be the right one for a dedicated thread on the tweak. As it's the first dedicated thread, feel free to discuss the tweak itself, NOT my article (of course, feedback is also welcome to the latter!). <conceited mode on>As usual, you won't find this information in any other (previous) articles published by anyone else. :) </conceited mode off>

This is how you can further enhance the great Web page saving tweak, WebOffline

While some third-party Web browsers (particularly iCab Mobile) are way more powerful than the stock Safari iDevices come with, I still prefer the latter. The reason for this is simple: Apple, at least in the pre-iOS 6 times (I haven't tested iOS 6 in this respect), has strictly forbidden to activate (via a simple call to _setDrawInWebThread()) flawless, stuttering-free scrolling in third-party browsers. Consequently, third-party browsers scroll around Web pages in a visually really annoying way. (The only exception has always been Opera Mini, which uses its own rendering engine.) There have been numerous articles and forum threads dedicated to the problem; see for example THIS for more on it.

Having to stick with Safari also means needing to use the sometimes far inferior capabilities. For example, local Web page saving (archiving) is one of them – which is a long-time feature of all desktop and a lot of mobile browsers. (Note the word “local”: I haven't tested online Web archiving services (if any), possibly invokable via a scriptlet passing the service the address of the current, to-be-archived page.)

There is only one application allowing for local page saves from inside Safari: WebOffline. Of course, because of Apple's extremely strict rules, it only runs on jailbroken devices meaning there isn't any easy(!) way of saving the current Web page into the local file system on a non-jailbroken iDevice from Safari.

Unfortunately, WebOffline isn't without problems and shortcomings. The biggest of them is the inability to automatically preserve previous backups of a given page – if you return to a Web page you've previously saved and save it again, the previous backup will be overwritten. Top third-party Web browsers work in a different way: iCab Mobile, for example, adds a counter to the filename of the archived pages and, consequently, doesn't overwrite the old version. An example, with the counters:

(as with all the other images in this article, click the thumbnail for the original, high-quality, large screenshot!)

In this article, I explain how you can do the same with WebOffline as easily as possible, along with some other bugfixing advice.

The manual way

Before saving a Web page again (and, if you don't do anything, overwriting the previous backup), you can easily, without even exiting Safari, secure the old archive agains being overwritten.

To do this, open your bookmarks menu and navigate to your saved pages – in exactly the same way as you'd do when simply displaying those pages:




Now, however, instead of just tapping them, tap the “Edit” button instead (annotated in the above screenshot):



Tap the entry you'd like to, by changing its name, save from being overwritten. A new line editor dialog will be displayed with the current name of the saved archive:



Now, just change the name so that it becomes something else than the original; this alone will guarantee no overwriting will happen. In the next screenshot, I used iCab Mobile's approach of appending a counter to the name:



Finally, just tap “Done”.

Note that the suffix you've added won't be at once visible in the archive list (assuming the page title wasn't absolutely short). Also, it won't have any date information. I myself prefer timestamping the saved pages, appending the (short) timestamp in front of the record so that I can immediately see when the given page was archived. For this, I recommend the Xpandr 2 & KBShortCuts combo. I've explained everything in THIS article here at MacRumors – please read it so that you can easily and quickly add timestamps to the beginning of the records.

Incidentally, in the last three list items in the first two screenshots above, you can already see these (condensed, short) timestamps in action.

2. Other known problems

There are some other bugs / annoyances with WebOffline. This section explains them all, along with a solution.

2.1 Page titles containing restricted characters

Unfortunately, WebOffline doesn't escape slash (/) characters, completely failing to save pages (an example HERE) with titles containing them. Should you want to save these pages, use iCab Mobile, which saves them just fine.

Unfortunately, WebOffline doesn't tell you it has failed to create the file upon saving. Saving the above page seems to succeed, as is also shown in the following screenshot:



It's also included in the page list (see the annotation):



Of course, when you try to load it back from inside Safari, it won't load anything:



… which isn't a wonder as nothing has been saved in the file system. An example shot of the home directory of WebOffline is as follows:



That is, there is absolutely no track of the file – neither under the partial name “This is a title” nor “with a slash”. The root directory of the iDevice won't contain the file either.

Note that there are no such problems with colon characters, which, as opposed to Mac OS X (see the second bullet HERE), is allowed under iOS. (A testpage you can play with is HERE) I've also annotated the file with the colon having been correctly saved in the last screenshot.

2.2 Automatic invocation

If, in Safari, you tap the Action menu but don't select anything (except “Save for offline”), the page will still be saved (by overwriting the older backup if present, of course). Should you want to avoid this, if you, by mistake, open the Action menu, make sure you do tap a menu item inside, even if you know it won't work or you immediately cancel the operation (e.g, tweeting / mailing).

3. What's next?

Depending on my free time, I'll try to come up with an automated iOS app that does all the timestamping automatically – that is, one that adds timestamps to the names of these records based on the file saving date of the previous Web page archives. (BTW, this is why I've used the section title “The manual way” - there, hopefully, will also be an automated one.)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.