0

我将 jquery 包含到我的模块中,DotNetNuke.Framework.jQuery.RequestRegistration();并且它按预期工作。

我通过页面设置/高级设置/页面标题标签将其他脚本包含到我的 DNN 门户中。它们也会被加载,但不能按预期工作。

在我的情况下,我想在我的 dnn 模块之一中有选项卡,我正在使用 jqueryUI 来执行此操作。如果我在 DNN 之外测试这个模块,它会正常工作,但是当安装到 DNN 中时会出现问题。我创建了标签,但无法在它们之间切换。实际上,我看到了应该在同一页面的单独选项卡中的所有内容。

替代文字

这是我来自 module.ascx 文件的 Js 代码。

<script type="text/javascript">
    jQuery(document).ready(function ($) {
        $("#<%= pnlTabs.ClientID %>").tabs();
    });
</script>

如何纠正这个?我认为问题在于所有这些不同的 JS 库都混在一起了。那么将另一个 JS 库包含到 DNN 模块中的正确方法是什么。


编辑:我发现了问题。你能帮忙修一下吗?

<li><a href="DesktopModules/OsControl/#dnn_ctr380_osControl_pnlProcesses">Processes</a></li>

<div id="dnn_ctr380_OsControl_pnlProcesses" style="text-align:left;"> 

问题是 DNN 将“DesktopModules/OsControl/”添加到“li”元素中的链接。如何防止这种情况或任何其他方式解决这个问题?


编辑2:

<asp:BulletedList ID="BulletedList1" runat="server" BulletStyle="NotSet" DisplayMode="HyperLink">
    <asp:ListItem Value="#OsControl_pnlProcesses">Processes</asp:ListItem>
    <asp:ListItem Value="#OsControl_pnlServices">Services</asp:ListItem>
    <asp:ListItem Value="#OsControl_pnlEvents">Events</asp:ListItem>
</asp:BulletedList>

这就是我创建链接的方式。

4

2 回答 2

1

我首先建议通过这篇文章

添加 jQuery 和 jQuery UI 引用的方式可能会导致问题,请确保在 jQuery.ui.js 之前添加 jQuery.js。

如果您认为几乎所有页面都需要 jQuery,您也可以将 jQuery 注册码移至皮肤。

最后就是console logging在firebug控制台中添加查看日志消息,以便您可以快速跟踪脚本参考相关问题

于 2010-11-11T12:34:10.497 回答
-1

请按照以下步骤操作,您应该没问题:

  1. 以 HOST 登录,进入 Host > Portal Settings,展开 jQuery Settings 节点,勾选“Use Hosted jQuery version”
  2. 将所有其他 js 引用添加到 Default.aspx 文件
于 2010-11-12T02:19:11.577 回答