A few months back I wrote about disabling the ability of a user to zoom a web page presented in a WKWebView
. This is custom HTML content being displayed in an enterprise app, not a web site, so its not as nefarious as it sounds.
Another wish was to disable callouts. That's the pop-over that shows up when you long-tap on elements in Mobile Safari. They let you copy text, define a word or share a snippet.
There's no property on WKWebView
that lets us do this, but we can do this similar to how we disabled the ability to zoom the page.
We pass a custom WKUserScript
to our web view which creates a style
tag and adds some styling which sets both -webkit-user-select
and -webkit-touch-callout
to none
on all elements except input
fields and textarea
elements.
As always, remember that these powers should only be used for good.