Javascript I';我试图集中我的js脚本,这样我就可以在多个页面上重复使用

Javascript I';我试图集中我的js脚本,这样我就可以在多个页面上重复使用,javascript,sharepoint-2013,Javascript,Sharepoint 2013,示例1:我在脚本编辑器中有一个js脚本,用于包装提升的链接。我想用一个js脚本的引用来代替它,我将把它放在站点资源中,并传递一个等于每行链接数的参数 因此,我将代码移动到站点资产中,并使用以下代码引用它,但它似乎不起作用。我正在使用脚本编辑器。还没有传递任何参数 <script type="text/javascript" src="../Site%20Assets/js-enterprise/WrapPromotedLinks.js"></script> 我的网站

示例1:我在脚本编辑器中有一个js脚本,用于包装提升的链接。我想用一个js脚本的引用来代替它,我将把它放在站点资源中,并传递一个等于每行链接数的参数

因此,我将代码移动到站点资产中,并使用以下代码引用它,但它似乎不起作用。我正在使用脚本编辑器。还没有传递任何参数

<script type="text/javascript" src="../Site%20Assets/js-enterprise/WrapPromotedLinks.js"></script>

我的网站资产中的代码是:

<script type="text/javascript" src="https://code.jquery.com/jquery-1.10.2.min.js Jump "></script>
<script type="text/javascript">
$(document).ready(function () {

// Update this value to the number of links you want to show per row
var numberOfLinksPerRow = 3;
alert(numberOfLinksPerRow);   

// local variables
var pre = "<tr><td><div class='ms-promlink-body' id='promlink_row_";
var post = "'></div></td></tr>";
var numberOfLinksInCurrentRow = numberOfLinksPerRow;
var currentRow = 1
// find the number of promoted links we're displaying
var numberOfPromotedLinks = $('.ms-promlink-body > .ms-tileview-tile-root').length;
  // if we have more links then we want in a row, let's continue
  if (numberOfPromotedLinks > numberOfLinksPerRow) {
    // we don't need the header anymore, no cycling through links
    $('.ms-promlink-root > .ms-promlink-header').empty();
    // let's iterate through all the links after the maximum displayed link
    for (i = numberOfLinksPerRow + 1; i <= numberOfPromotedLinks; i++) {
      // if we're reached the maximum number of links to show per row, add a new row
      // this happens the first time, with the values set initially
      if (numberOfLinksInCurrentRow == numberOfLinksPerRow) {
        // i just want the 2nd row to
        currentRow++;
        // create a new row of links
        $('.ms-promlink-root > table > tbody:last').append(pre + currentRow + post);
        // reset the number of links for the current row
        numberOfLinksInCurrentRow = 0    }    
// move the Nth (numberOfLinksPerRow + 1) div to the current table row    
$('#promlink_row_' + currentRow).append($('.ms-promlink-body > .ms-tileview-tile-root:eq(' + (numberOfLinksPerRow) + ')'));    
// increment the number of links in the current row
    numberOfLinksInCurrentRow++;  }
}
});
</script>

$(文档).ready(函数(){
//将此值更新为每行要显示的链接数
var numberOfLinksPerRow=3;
警报(numberOfLinksPerRow);
//局部变量
var pre=“”;
var numberOfLinksInCurrentRow=NumberOfLinksError;
var currentRow=1
//查找我们正在显示的已升级链接的数量
var numberOfPromotedLinks=$('.ms promlink body>.ms tileview tile root')。长度;
//如果我们有更多的链接,然后我们希望在一行,让我们继续
如果(numberOfPromotedLinks>NumberOfLinksError){
//我们不需要标题了,没有循环通过链接
$('.ms promlink root>.ms promlink header').empty();
//让我们在显示的最大链接之后遍历所有链接
对于(i=numberOfLinksPerRow+1;i table>tbody:last')。追加(pre+currentRow+post);
//重置当前行的链接数
numberOfLinksInCurrentRow=0}
//将第n个(NumberOfLinksError+1)div移动到当前表行
$('#promlink_row.'+currentRow).append($('.ms-promlink body>.ms-tileview磁贴根:eq(+(numberOfLinksPerRow)+'));
//增加当前行中的链接数
numberOfLinksInCurrentRow++;}
}
});

我现在只想在我的页面上保留一个引用,并传入参数3。

按照以下步骤实现它

1.将下面的代码保存为js文件“WrapPromotedLinks.js

$(文档).ready(函数(){
//将此值更新为每行要显示的链接数
var numberOfLinksPerRow=3;
//警报(numberOfLinksPerRow);
//局部变量
var pre=“”;
var numberOfLinksInCurrentRow=NumberOfLinksError;
var currentRow=1
//查找我们正在显示的已升级链接的数量
var numberOfPromotedLinks=$('.ms promlink body>.ms tileview tile root')。长度;
//如果我们有更多的链接,然后我们希望在一行,让我们继续
如果(numberOfPromotedLinks>NumberOfLinksError){
//我们不需要标题了,没有循环通过链接
$('.ms promlink root>.ms promlink header').empty();
//让我们在显示的最大链接之后遍历所有链接
对于(i=numberOfLinksPerRow+1;i table>tbody:last')。追加(pre+currentRow+post);
//重置当前行的链接数
numberOfLinksInCurrentRow=0;
}    
//将第n个(NumberOfLinksError+1)div移动到当前表行
$('#promlink_row.'+currentRow).append($('.ms-promlink body>.ms-tileview磁贴根:eq(+(numberOfLinksPerRow)+'));
//增加当前行中的链接数
numberOfLinksInCurrentRow++;
}
}
});
2.将文件上传到站点资源库中的文件夹“js enterprise

3.在SharePoint页面的脚本编辑器web部件中使用以下引用使其正常工作

<script src="https://code.jquery.com/jquery-1.12.4.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../SiteAssets/js-enterprise/WrapPromotedLinks.js"></script>

是的,这很有效。我基本上按照你的建议做了,但是在js文件中保留了脚本标记。非常感谢。
<script src="https://code.jquery.com/jquery-1.12.4.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../SiteAssets/js-enterprise/WrapPromotedLinks.js"></script>