我想在dotnetnuke网站上的每个页面上创建一个基本上包含javascript的模块。我可以在当前页面中包含一个js文件,
ClientResourceManager.RegisterScript(this.Page,
"~/DesktopModules/AuthenticationServices/ZapperScanToLogin/view.js",
FileOrder.Js.jQuery);
但我真正想做的是在主页上安装我的模块,它将包含到dnn网站上每个页面的javascript。这可能,我该怎么做?
答案 0 :(得分:4)
我会诚实地通过修改你的皮肤来做到这一点,但这里是使用模块做的步骤。
答案 1 :(得分:1)
我会将此添加到您的皮肤,或者通过添加引用手动添加,或者通过创建SkinObject而不是模块。
如果您将其作为模块执行,则用户可以从页面或其他一些内容中删除该模块。如果这个脚本是一个要求,最好这样做,以便用户不会通过意外做某事来破坏网站。
答案 2 :(得分:1)
一种方法是在网站设置下将其添加到网站的标题中。以超级用户身份登录:
下面的示例。不显示在页面底部,显示在页眉顶部,但将显示在每页上。
<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的内容对我来说是个谜。