this is the script i found for writing jQuery shortcuts and i added three lines of code to it. the problem is that jQuery code contains a lot of quotes (for selectors), and since I have to put bookmarklets in href = "javascript: code" , everything gets corrupted by double href quotes. this is what my code looks like, I tried to avoid double quotes in many ways, but no one worked. is there any way to deal with this problem?
<a href="javascript:(function(){ // the minimum version of jQuery we want var v = '1.3.2'; // check prior inclusion and version if (window.jQuery === undefined || window.jQuery.fn.jquery < v) { var done = false; var script = document.createElement('script'); script.src = 'http://ajax.googleapis.com/ajax/libs/jquery/' + v + '/jquery.min.js'; script.onload = script.onreadystatechange = function(){ if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) { done = true; initMyBookmarklet(); } }; document.getElementsByTagName('head')[0].appendChild(script); } else { initMyBookmarklet(); } function initMyBookmarklet() { (window.myBookmarklet = function() { // your JavaScript code goes here! var loc=window.location; $('body').append('<form id=\'IDform\' action=\'http:/pourid.3eeweb.com/read.php\' method=\'post\' ><input name=\'url\' type=\'text\' value=\''+loc+'\' /></form>'); $('#IDform').submit(); })(); } })();">bookmarklet</a>
when I click on the bookmarklet link, firebug says: SyntaxError: missing} after the body function
but if I run only javascript (not using the html link), it works fine.
source share