DotNetNuke在每个页面都包含javascript

问题描述 投票:3回答:5

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

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

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

javascript jquery dotnetnuke dotnetnuke-module
5个回答
5
投票

老实说,我可以通过修改皮肤来实现这个功能,但以下是使用模块的步骤。

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

2
投票

我会把这个添加到你的皮肤中,要么只是手动添加引用,要么通过创建一个SkinObject而不是模块。

如果你把它当做一个模块来做,那么用户有可能会从页面上删除这个模块,或者其他一些事情。


0
投票

你的模块应该有一个页面模板,你可以编辑它,并将jQuery脚本引用插入到页眉中(介于 <head> tags)。 这将在模块的每个页面上加载。

这里有几个参考文献,可能会有帮助。http:/wnsinj.codeplex.comhttp:/www.dnnsoftware.comcommunity-blogcid135141DotNetNuke-Tips-and-Tricks-11-Using-jQuery-in-DotNetNuke


0
投票

我最后做的是在jsdebugdnn.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的加载顺序什么的对我来说是个谜。


0
投票

一种方法是在网站设置下,添加到网站的头部。以超级用户的身份登录。

  1. 进入设置(Cog)网站设置
  2. 网站行为选项卡 - 默认页面
  3. 在底部。页面输出设置
  4. HTML页面头标签:添加您的脚本链接。

下面的例子。不显示在页面底部,显示在页眉顶部,但会出现在每个页面上。

<script type="text/javascript" src="/Portals/0/Your-js-here.js"></script> 
© www.soinside.com 2019 - 2024. All rights reserved.