JayGee
JayGee

Reputation: 577

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?

Upvotes: 12

Views: 11903

Answers (1)

danlei
danlei

Reputation: 14291

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.

Upvotes: 14

Related Questions