Something rather strange happened to me today: Safari 10 on macOS Sierra refused to let me login to YouTube. All it did was constantly refresh the page in an endless loop, or just display the front page of YouTube. I cleared the caches, reset the history, but no trick seemed to solve the problem.
When I dug deeper into the Preferences, I found something under Privacy that finally fixed it. Let me share with you what worked on my system.
- head over to Safari – Preferences
- select the Privacy tab
- you’ll see a window like this one:
- select Manage Website Data
- after a few moments you’ll see a LONG list of websites that have saved cookies on your machine over time
- in the top right corner, search for YouTube
- you’ll see something like this:
- select the YouTube.com entry and hit Remove, followed by Done
- now surf back to YouTube and login – this time it’ll work
What we’ve just removed were not just cookies, but also HTML local storage data, as well as cache data specific to the YouTube website. I guess cached stuff can get outdated, or not properly deleted when we close our browser in a hurry.
The principle should work for other websites too, should they give you trouble. If you’re sick and tired of any website saving data to your system, consider switching to the “Always Block” option seen in the first screen shot.
I love Safari – but it has an ultra annoying habit on new installations: it’s trying to be helpful by automatically unzipping ZIP files. It’s the most unuseful feature ever for a techie ever.
Thankfully we can switch it off – something you only need to do once every 5 years, and hence it’s easily forgotten where and how.
Open Safari and head over to Safari – Preferences. Under the General Tab, at the very bottom, there’s a tick box. That’s the culprit. Untick it and Safari will never unzip those files for you again.
The confusing bit is that ZIP files as such are not mentioned. Mac OS X calls them “archives”.
Unticking this option also means images and video files are no longer opened up as soon as they’re downloaded. Less automation is sometimes more. This is one such case.
Web Browsers like to save websites that you’ve visited earlier to speed up how quickly they can be displayed.
Everything that should be downloaded from the web is saved as local files (up to a point), and if a browser sees that you’re visiting site again that you’ve just been to, he serves the saved files rather than request them from the web again.
You can clear this cache and force the browser to load the results from the web. Eventually the cache clears itself, but it depends on “when the browser feels like it”.
If you’re using Safari, you can clear the cache by heading to Safari – Reset Safari. Tick “reset all website data” is usually enough, but you can clear several other things while you’re there too (like the history).
On Firefox this option is option is rather hidden under Firefox – Preferences – Advanced – Network, and under Cached Web Content there’s a button “clear now”. It’s always good to have a second browser installed just so you can check up on the other one (and trust neither).
Alternatively, hold down CMD on Mac (or CTRL on Windows) and reload a page – this sometimes works on a “per page” basis, especially if you don’t trust what you’re seeing.
iOS also has this option under Settings – Safari – Clear History and Website Data.
Just something to keep in mind when you’re seeing unexpected results.
Thanks to Jerry and his new book for this article – I just explained this to him in an email and thought this would make an excellent blog post 😉
Instead of loading a URL into a UIWebView we can also launch Safari to display it:
UIApplication *mySafari = [UIApplication sharedApplication];
NSURL *myURL = [[NSURL alloc]initWithString:@"<a href="http://www.mydomain.com"/" rel="nofollow">http://www.mydomain.com"</a>;
The method returns a BOOL value which will feed back if this operation was a success or not:
if (![mySafari openURL:myURL])
// opening didn't work
openURL can open phone numbers (tel:), mailto: links, http: and https: links.