zoukankan      html  css  js  c++  java
  • 通过代码为SharePoint添加Javascript引用

    在SharePoint的实际开发过程中,我们总有一些通用的Javascript脚本,如何添加这些客户端脚本的引用呢? 最简单的方式我想应该是用SharePoint Designer直接编辑母版页(Master Page),在<Header></Header>中添加以下代码。

    <script type="text/javascript" src="/_layouts/MyScripts.js">
    
    这是最直接的方式,但却不是推荐的方式,在开发和测试环境中你可以这样快速的添加,但在正式的环境中,我们并不希望直接用SharePoint Designer去直接修改任何站点。本人通过另一种方法动态的添加脚本的引用。

    通过Feature添加脚本引用

    首先创建一个简单的Feature:
    1. 打开VS 2010, 创建一个空的SharePoint项目,由于要添加javascript引用,所以我们的部署方式只能选择“Deploy as a Farm Solution”。
    2. 创建好新的项目后,在解决方案管理器中找到Features节点,右键添加一个新的Feature。如下图
      

          

    3. 右键单击新创建的Feature1, 添加一个Event Receiver
       

          

     
    4.这样一个简单的Feature就完成了,你当然可以完善一下其他信息比如,Feature的名字,描述等等。

    添加引用代码

    接下来就是在激活feature的时候,添加脚本引用。代码非常简单。
        
     // Uncomment the method below to handle the event raised after a feature has been activated.
            SPWeb currentWeb;
            public override void FeatureActivated(SPFeatureReceiverProperties properties)
            {
                try
                {
                    using (currentWeb = (SPWeb)properties.Feature.Parent)
                    {
                        if (currentWeb != null)
                        {                        
                            currentWeb.CustomJavaScriptFileUrl = @"/_layouts/MyScripts.js";
                            currentWeb.Update();
                        }
                    }
                }
                catch (Exception ex)
                { }
                finally
                {
                    if (currentWeb != null)
                        currentWeb.Dispose();
                }
            }
    

      最后用VS再带的打包和部署功能将解决方案部署,然后通过“管理站点应用”找到Feature1,然后激活。

    检查部署情况

     打开SharePoint 站点,查看源代码:你就会发现我们的脚本已经嵌入页面了(粗体部分)。

      

    document.write('<script type="text/javascript" src="/_layouts/blank.js?rev=QGOYAJlouiWgFRlhHVlMKA%3D%3D"></' + 'script>');
    document.write('<script type="text/javascript" src="/ScriptResource.axd?d=SKFLvF-EvR1mlvrYxWyEZjFDw6bS-SVrMGavINFSyCzVEqN_9eg59nW_dFeLRE6SgfxuA6tSz34aPo1TpYBKN2yiixIon88_QeT4s2k6JrM1&t=ffffffffc9d3eaae"></' + 'script>');
    // ]]>
    </script>
    <script type="text/javascript" src="/_layouts/MyScripts.js"></script>
    <link type="text/xml" rel="alternate" href="/sites/SB/_vti_bin/spsdisco.aspx" />
    

      当然还有其他的方法,希望大家交流。

  • 相关阅读:
    Ubuntu上安装Redis
    Unity Shader中将指定颜色过滤成透明
    用Python发送邮件
    Flask搭建简单的服务器
    SQLServer 中All、Any和Some用法与区别
    Linux探秘之用户态与内核态
    MTDDL 美团点评分布式数据访问层中间件
    基础数据结构 例:栈、队列、链表、数据、字典、树、等
    二叉树、红黑树、B&B+树数据结构
    CPU,GPU,高速缓存cache,内存RAM,虚拟内存VM,磁盘ROM,磁盘缓存之间的关系
  • 原文地址:https://www.cnblogs.com/splover/p/2298246.html
Copyright © 2011-2022 走看看