Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mobile Safari Blocks Javascript in URL - Safari cannot run the script because JavaScript is not allowed to be used this way

I was researching how to create bookmarklets for use with mobile safari and I ran across this problem:

I'm not sure why am unable to find any questions on this topic. And my Google searches came up with nothing as well. But it appears that iOS has completely disallowed JavaScript being entered into the address bar of mobile safari. There is a message that appears like this one:

Safari cannot run the script because JavaScript is not allowed to be used this way

They've even gone so far as to ensure that when you're editing a bookmark on mobile Safari, There is no way to escape Single quotes or double quotes and they have completely disabled double-quotes from the keyboard - thus handicapping the user's ability to create a bookmark with those characters in it.

So is there any way to make a bookmarklet that actually does anything? For instance, Can I create a bookmarklet that'll allow me to link to a particular website using the selected text as a parameter into the url?

And it just me or is this something new?

like image 309
JayGee Avatar asked Oct 14 '15 21:10

JayGee


People also ask

Why is JavaScript not working in Safari?

To enable the JavaScript in Safari Browser, you need to open the Settings on your iOS device and then go to the advanced option. Under the advance option, toggle the button of the JavaScript and turn it ON.


1 Answers

The solution to bookmarklets in mobile Safari is to just not use the address bar. Create a bookmark for some random site, and edit it afterwards. I.e.:

  1. Visit google.com or some other random site
  2. Bookmark it (using the share button)
  3. Go to your bookmarks and tap edit
  4. Select your placeholder bookmark and enter your code in the address field
  5. Save the changes

That's it. A little awkward, but it works.

like image 117
danlei Avatar answered Oct 21 '22 08:10

danlei