DotNetNuke在每个页面上都包含javascript

时间:2013-08-28 12:28:50

标签: javascript jquery dotnetnuke dotnetnuke-module

我想在dotnetnuke网站上的每个页面上创建一个基本上包含javascript的模块。我可以在当前页面中包含一个js文件,

ClientResourceManager.RegisterScript(this.Page, 
"~/DesktopModules/AuthenticationServices/ZapperScanToLogin/view.js", 
FileOrder.Js.jQuery); 

但我真正想做的是在主页上安装我的模块,它将包含到dnn网站上每个页面的javascript。这可能,我该怎么做?

5 个答案:

答案 0 :(得分:4)

我会诚实地通过修改你的皮肤来做到这一点,但这里是使用模块做的步骤。

  1. 创建一个模块(我建议从我的模板http://christoctemplate.codeplex.com开始)
  2. 添加您的JS代码
  3. 将模块添加到主页
  4. 转到模块设置,选择所有页面上的显示

答案 1 :(得分:1)

我会将此添加到您的皮肤,或者通过添加引用手动添加,或者通过创建SkinObject而不是模块。

如果您将其作为模块执行,则用户可以从页面或其他一些内容中删除该模块。如果这个脚本是一个要求,最好这样做,以便用户不会通过意外做某事来破坏网站。

答案 2 :(得分:1)

一种方法是在网站设置下将其添加到网站的标题中。以超级用户身份登录:

  1. 转到设置(Cog)网站设置
  2. “网站行为”标签-默认页面
  3. 底部:页面输出设置
  4. HTML页面标题标签:添加您的脚本链接:

下面的示例。不显示在页面底部,显示在页眉顶部,但将显示在每页上。

<script type="text/javascript" src="/Portals/0/Your-js-here.js"></script> 

答案 3 :(得分:0)

您的模块应该有一个页面模板,您可以编辑该模板并将jQuery脚本引用插入(在<head>标记之间)的标题中。然后将其加载到模块的每个页面上。

以下是一些可能有用的参考资料: http://wnsinj.codeplex.com/ http://www.dnnsoftware.com/community-blog/cid/135141/DotNetNuke-Tips-and-Tricks-11-Using-jQuery-in-DotNetNuke

答案 4 :(得分:0)

我最终做的是在js / debug / dnn.modalpopup.js文件中包含javascript注册,然后在登录和注册页面以及弹出对话框中注册我的javascript。

        var myView = document.createElement("script");
        myView.type = "text/javascript";
        myView.src = "/js/view.js";

        var myTech = document.createElement("script");
        myTech.type = "text/javascript";
        myTech.src = "/js/mytech.js";


        document.head.appendChild(myView);
        document.head.appendChild(myTech);

我不确定将javascript文件放在该位置是否理想,但这是适合我的解决方案。我认为每个DNN网站的手动开发工作量很小,所以我希望这是一个可以接受的解决方案。

我不确定是否应该将脚本放在页面头部或正文中...加载的顺序以及javascript的内容对我来说是个谜。