Is it possible to use Jquery in a confluence page (version 4.1)?
I found this user macro, Jquery , but it doesn't seem to work with Confluence 4.1
Thank you,
Hi Adolfo,
Could you just use the bundled {html} macro> E.g.:
{html} <script> AJS.toInit(function() { AJS.$("a").click(function() { alert("Hello world!"); }); }); </script> <a href="#">My Link</a> {html}
I tested the above on my local 4.1.4 Confluence instance and it worked. {html} macro is disabled by default, but can be enabled via Browse -> Confluence Admin -> Plugins -> Manage Existing -> System -> Confluence HTML Macros
Hope that helps,
Andrew.
Thank you Andrew. This is what I was looking for.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Andrew was just giving an example here. Using the bundled {html} macro means that anyone with edit access can add naughty wicked JavaScript code into your pages -- that's why it's disabled by default. Use it with care.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
BTW: I can confirm that:
<script> AJS.toInit(function() { AJS.$("a").click(function() { alert("Hello world!"); }); }); </script>
In a user macro works just fine. (Of course you have to click any A link to see the effect)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
BTW - I can confirm that:
<script> AJS.toInit(function() { AJS.$("a").click(function() { alert("Hello world!"); }); }); </script>
In a user macro works just fine.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Adolfo - If you've given edit access to people who *want* to add naughty wicked JavaScript code to wiki pages, doesn't it follow that you're doing it (managing your Confluence users) very, very wrong? Confluence security happens at the adminstrator level, not the macro level.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Can we make AJAX calls from within an HTML macro? Its giving me CORS errors when I do so, any idea?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I'll just add some info because I've been hunting around and making a few discoveries recently.
****** What is the current version of jQuery used in Confluence? ******
This page:
http://forums.atlassian.com/thread.jspa?threadID=30940
Says that I should be able to get my version by doing this in the header custom HTML section:
console.log(AJS.$().jquery);
but I couldn’t find it in the logs (might be a log-level setting), so I did this instead:
alert(AJS.$().jquery);
Results in a popup that shows:
"1.5.2"
(I am using Confluence 4.1.2)
****** Using a different version of jQuery than the one provided with Confluence ******
This page provides a link to how to use two versions of jQuery side by side:
https://answers.atlassian.com/questions/19782/jquery-1-6
****** Other mentions of "current" version of jQuery ******
This page:
https://developer.atlassian.com/display/CONFDEV/Including+Javascript+and+CSS+resources
Mentions that jQuery 1.4.2 is included in Confluence 3.3+.
Also mentions that you need to include the following in your Velocity template to use the library:
#requireResource("confluence.web.resources:jquery")
I assume this is out of date as it doesn't appear to be necessary.
This page:
http://confluence.atlassian.com/display/CONF30/Including+Javascript+and+CSS+resources#
mentions that jQuery version 1.2.6 is the current version.
There does not appear to be a newer version of that page.
****** Atlassian.js file? ******
This page:
https://developer.atlassian.com/display/CONFDEV/Confluence+UI+Guidelines
mentions an Atlassian.js file. I could not find any actual file of that name in the source or on the server or in the communication with the server when a page is downloaded.
There are also several mentions of atlassian.js in the test files in the Confluence source. I suspect it’s generated and then included in the batch.js files, but I could not find any documentation that describes the batch.js file process.
A couple of the batch.js files include jQuery UI elements and other definitions and all seem to mention version 1.8.11.
Lots of dependencies on the following in the web-resources plugin file in the \confluence\WEB-INF\lib\confluence-4.1.2.jar file:
<dependency>confluence.web.resources:ajs</dependency>
Anyway, I hope this helps someone else who might come along and try to understand the relationship between Confluence and jQuery.
matthew horn
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks man, really useful information about jQuery!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.