SharePoint:ScriptLink測試

來源:互聯網
上載者:User

最終結論:

<SharePoint:ScriptLink  ID="SPlink1"  Name="sp.ui.tgportal.js"   Defer="false"  runat="server" OnDemand="false" Localizable="true" />

defer: 決定是否及時輸出,預設為“false”,“true”為最後輸出;
OnDemand:

決定是否由“RegisterSod”進行註冊,如果使用註冊,則頁面載入完後不馬上載入js,而是在調用函數前要進行載入,比如使用SP.SOD.executeFunc("sp.ui.tgportal.js", null, alert(0));

Localizable: 決定是否要在2052中尋找js,false是直接在layouts中尋找;
LoadAfterUI: 決定在head中輸出還是在body完成前

參考:http://www.ilovesharepoint.com/2010/08/sharepoint-scripts-on-demand-spsod.html

         Sharepoint JS CSS 註冊

2011-12-30添加

SharePoint:ScriptLink在內部調用的也是  ClientScript.RegisterStartupScript RegisterClientScriptBlock RegisterClientScriptInclude

通過js路徑來判斷是否未重複註冊

page2.ClientScript.RegisterStartupScript(typeof(ScriptLink), str, info.ToScriptBlock(page));

str = ExtractFilename(name) + localizable.ToString();

=========================================================

                         部分測試資料

=========================================================

 

<SharePoint:ScriptLink ID="SPlink1" Name="sp.ui.tgportal.js" Defer="false" runat="server"  />

</head>

結果: header附近

25:document.write('<script type="text/javascript" src="/_layouts/2052/init.js?rev=rcZULplQ2sjYL0GwamiLEQ%3D%3D"></' + 'script>');

26:document.write('<script src="/_layouts/2052/sp.ui.tgportal.js?rev=pLpSQ6vSUCg3DEmdOme1fQ%3D%3D"></' + 'script>');

=========================================================

<SharePoint:ScriptLink ID="SPlink1" Name="sp.ui.tgportal.js" Defer="true" runat="server" />

</head>

結果: RegisterSod之前

<script type="text/javascript">

// <![CDATA[

document.write('<script src="/_layouts/2052/sp.ui.tgportal.js?rev=pLpSQ6vSUCg3DEmdOme1fQ%3D%3D"></' + 'script>');

// ]]>

</script>

<script type="text/javascript">RegisterSod("sp.core.js",…

=================================================================

<SharePoint:ScriptLink  ID="SPlink1"  Name="sp.ui.tgportal.js"   Defer="true"  runat="server" OnDemand="true" /></head>

<SharePoint:ScriptLink  ID="SPlink1"  Name="sp.ui.tgportal.js"   Defer="false"  runat="server" OnDemand="true"  />

結果:

<script type="text/javascript">RegisterSod("core.js", "\u002f_layouts\u002f2052\u002fcore.js?rev=KpeTWMrqjCSYYu4RiO0\u00252B1Q\u00253D\u00253D");</script>

<script type="text/javascript">RegisterSod("sp.ui.tgportal.js",

==========================================================

<SharePoint:ScriptLink  ID="SPlink1"  Name="sp.ui.tgportal.js"   Defer="true"  runat="server" OnDemand="false" Localizable="true" />

</head>

結果:

<script type="text/javascript">

// <![CDATA[

document.write('<script src="/_layouts/2052/sp.ui.tgportal.js?rev=pLpSQ6vSUCg3DEmdOme1fQ%3D%3D"></' + 'script>');

// ]]>

</script>

<script type="text/javascript">RegisterSod("sp.core.js",

===========================================================

<SharePoint:ScriptLink  ID="SPlink1"  Name="sp.ui.tgportal.js"   Defer="false"  runat="server" OnDemand="false" Localizable="true" />

結果:

25:document.write('<script type="text/javascript" src="/_layouts/2052/init.js?rev=rcZULplQ2sjYL0GwamiLEQ%3D%3D"></' + 'script>');

26:document.write('<script src="/_layouts/2052/sp.ui.tgportal.js?rev=pLpSQ6vSUCg3DEmdOme1fQ%3D%3D"></' + 'script>');

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.