At this point you’ll be hard-pressed to find a site that does not use jQuery. It has become a requirement for many to bring flash like experience in the form of photo sliders or fast responding ajax applications.
How to Add JQuery to DNN Skin?
Over that time adding it to DotNetNuke (DNN) has not always been straight forward. DNN ships jQuery as part of the core framework and you might assume that it’s always available. But one of the most widely unknown issues is that it must be requested on every page in order for it to be available.
- Main menu does not show sub items.
- Homepage slider does not rotate.
- Layout is malformed.
- Works fine when logged in but not when logged out.
[box type=”info”]When you login as an administrator jQuery will always be available since the control panel bar request it. However if you logout on that same page it might not have been requested by any module or skin object on that page.[/box]
Not Recommended Ways
Do Not: Add script tag into page settings or in your skin file.
Why? This will potentially add multiple reference to your page. The real issue is if any plugins are registered between the first reference and the second reference they won’t be available after the second reference is instantiated.
In your skin file you can refer and add the control for jQuery. This will ensure that jQuery is available on every single page and that it will only be referenced one time. You also get the benefit of the Client Dependency Framework (CDF).
&lt;%@ Register TagPrefix="dnn" TagName="jQuery" src="~/Admin/Skins/jQuery.ascx" %&gt;
You can optionally add public properties to register jQuery UI, DNN jQuery Plugins and Hover Intent.
&lt;dnn:jQuery runat="server" jQueryUI="true" DnnjQueryPlugins="true" jQueryHoverIntent="true"&gt;&lt;/dnn:jQuery&gt;
[box type=”note”]Note: The search skin object will also register jQuery.[/box]