as a reference
Implementing bookmarklets in JavaScript
11–15 of 15 posts
Re: Implementing bookmarklets in JavaScript
#12Earlier quoted context omitted.
I see you use the (function() {…})(); syntax in your gist, while the linked article uses (function() {…}()); I tried some simple experiment, even passing a param in the outer parens, and both seemed to work the same, and ok. Is one of these "right" and the other one "wrong"?
The former give the following message in http://jslint.com Problem at line 1 character 17: Move the invocation into the parens that contain the function. Crockford seems to prefer the latter but I don't know why.
+function() { console.log("bla") }();
But: this one converts the result to a number, which you don’t want if you need the result of the IIFE. On the other hand, in places where you need that, there is usually no ambiguity with statements, anyway, and you don’t need any kind of prefix. var abc = function() { return "abc" }();Re: Implementing bookmarklets in JavaScript
#13Re: Implementing bookmarklets in JavaScript
#14One of the best things about bookmarklets is that they work on mobiles too. There's a great collection of bookmarklets at https://www.squarefree.com/bookmarklets/ (Fron the same guy who tracks changes in Firefox's nightly builds: http://www.squarefree.com/burningedge/ ) You can also turn bookmarklets into GreaseMonkey scripts so they can be ran automatically on certain sites (in Firefox): http://www.squarefree.com/20…
It's also nice to be able to do the same things in an arbitrary set of browsers (for the most part).
Re: Implementing bookmarklets in JavaScript
#15Bookmarklets are awesome except they involve more user interaction than should be needed. I feel like almost every time I could use a bookmarklet, a plugin would do more with just as much user initiative. They also don't have a favicon (or I haven't seen one in FF4) without a user pre-visiting a destination page, so they look unpolished.
Plus it's easier for some developers to knock out a bookmarklet than a plugin, especially when you can do much of the logic server side, and potentially hook into existing code there.