-------------------- Start of forwarded message -------------------- From: Rehan Deen <rehan.d...@gmail.com> To: Max Nikulin <maniku...@gmail.com> Subject: Re: [BUG] Org-protocol bookmarklets in Firefox behaving badly after recent upgrade [9.6.15 (release_9.6.15 @ /usr/share/emacs/29.4/lisp/org/)]
> Try to add "(void)" > javascript:(void)location.href='org-protocol:...> Thanks. I don't know much JavaScript so I didn't think to look at something like that. I tried it as you've described, but it does not work at all -- i.e. nothing is even captured. I've also tried: javascript:(void);location.href='org-protocol:...> javascript:void;location.href='org-protocol:...> javascript:(void 0)location.href='org-protocol:...> javascript:void (0)location.href='org-protocol:...> javascript:"void 0"location.href='org-protocol:...> None of which worked at all either. The following variations do capture the link: javascript:(void 0);location.href='org-protocol:...> javascript:void 0;location.href='org-protocol:...> javascript:"void 0";location.href='org-protocol:...> javascript:void (0);location.href='org-protocol:...> but they all still display the problem of the browser switching to a near blank page with the Org-protocol link. However, I find that the following both seem to work: javascript:location.href='org-protocol://store-link?'+new URLSearchParams({url:location.href,title:document.title}); location.event.preventDefault(); and javascript:location.href='org-protocol://store-link?'+new URLSearchParams({url:location.href,title:document.title}); location.class("hoveronly"); (As found in https://stackoverflow.com/questions/3498492/javascriptvoid0-vs-return-false-vs-preventdefault and https://stackoverflow.com/questions/61265408/href-javascriptvoid0-v-s-href-onclick-return-false?noredirect=1&lq=1) There's probably a cleaner way to "disable the link on click" that someone who is more experienced in JS than me can say. > However bookmarklets are unsafe, you have to allow *web page* to > launch a handler. In the case of an extension this permission may be > given to the extension (but sprig/org-capture-extension still use the > unsafe way). Thanks for the warning. I am not sure how to implement this safely, though perhaps this should be an issue raised in the Worg documentation, e.g. in https://orgmode.org/worg/org-contrib/org-protocol.html -------------------- End of forwarded message --------------------