Totally newbie about JS.
I need to use an external script which modifies some elements in the current page accessing it as a bookmarklet.
If I modify the htm
A common practice is to simply use a self-executing function expression, something like this:
(function () {
var s=document.createElement('script');
s.type='text/javascript';
s.src='script.js';
document.getElementsByTagName('head')[0].appendChild(s);
}());
Bookmarklet:
javascript:(function(){var s=document.createElement('script');s.type='text/javascript';s.src='script.js';document.getElementsByTagName('head')[0].appendChild(s);}());
The function will return undefined
(no return value supplied) preventing the navigation.
Note also that this will avoid creating global variables (like s
) that can overlap with other variables used on the page, because all variables are created in the scope of the anonymous function.