3

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

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

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

4

5 回答 5

5

老实说,我会通过修改您的皮肤来做到这一点,但这里是使用模块完成此操作的步骤。

  1. 创建一个模块(我建议从我的模板http://christoctemplate.codeplex.com开始)
  2. 添加你的 JS 代码
  3. 将模块添加到主页
  4. 转到模块设置,选择在所有页面上显示
于 2013-08-28T14:17:59.927 回答
2

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

如果您将其作为一个模块来执行,则用户可能会从页面中删除该模块,或者其他一些事情。如果这个脚本是必需的,最好制作它,这样用户就不会因为意外做某事而破坏网站。

于 2013-08-28T15:38:26.883 回答
1

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

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

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

<script type="text/javascript" src="/Portals/0/Your-js-here.js"></script> 
于 2020-05-14T16:56:19.527 回答
0

There ought to be a page template for your module which you can edit and insert the jQuery script reference into the header of (in between the <head> tags). This would then be loaded on each page of the module.

Here are a couple of references that might help: http://wnsinj.codeplex.com/ http://www.dnnsoftware.com/community-blog/cid/135141/DotNetNuke-Tips-and-Tricks-11-Using-jQuery-in-DotNetNuke

于 2013-08-28T12:45:55.390 回答
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 对我来说是一个谜。

于 2013-09-03T11:44:58.153 回答