当前位置: 动力学知识库 > 问答 > 编程问答 >

SharePoint Foundation 2013 - Order of loading sp.js and sp.runtime.js

问题描述:

I have problem with an order in which I am loading

<script type="text/javascript" src="/_layouts/15/sp.js"></script>

<script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>

on my page

This is the whole head section on my master page.

<head runat="server">

<meta name="GENERATOR" content="Microsoft SharePoint" />

<meta http-equiv="Content-type" content="text/html; charset=utf-8" />

<meta http-equiv="X-UA-Compatible" content="IE=10"/>

<meta http-equiv="Expires" content="0" />

<SharePoint:SPPinnedSiteTile runat="server" TileUrl="/_layouts/15/images/SharePointMetroAppTile.png" TileColor="#0072C6" />

<SharePoint:RobotsMetaTag runat="server"/>

<SharePoint:PageTitle runat="server">

<asp:ContentPlaceHolder id="PlaceHolderPageTitle" runat="server">

<SharePoint:ProjectProperty Property="Title" runat="server" />

</asp:ContentPlaceHolder>

</SharePoint:PageTitle>

<SharePoint:SPShortcutIcon runat="server" IconUrl="/_layouts/15/images/favicon.ico?rev=23" />

<SharePoint:StartScript runat="server" />

<SharePoint:CssLink runat="server" Version="15"/>

<SharePoint:CacheManifestLink runat="server"/>

<SharePoint:ScriptLink language="javascript" name="core.js" OnDemand="true" runat="server" Localizable="false" />

<SharePoint:ScriptLink language="javascript" name="menu.js" OnDemand="true" runat="server" Localizable="false" />

<SharePoint:ScriptLink language="javascript" name="callout.js" OnDemand="true" runat="server" Localizable="false" />

<SharePoint:ScriptLink language="javascript" name="sharing.js" OnDemand="true" runat="server" Localizable="false" />

<SharePoint:ScriptLink language="javascript" name="suitelinks.js" OnDemand="true" runat="server" Localizable="false" />

<SharePoint:CustomJSUrl runat="server" />

<SharePoint:SoapDiscoveryLink runat="server" />

<SharePoint:AjaxDelta id="DeltaPlaceHolderAdditionalPageHead" Container="false" runat="server">

<asp:ContentPlaceHolder id="PlaceHolderAdditionalPageHead" runat="server" />

<SharePoint:DelegateControl runat="server" ControlId="AdditionalPageHead" AllowMultipleControls="true" />

<asp:ContentPlaceHolder id="PlaceHolderBodyAreaClass" runat="server" />

</SharePoint:AjaxDelta>

<SharePoint:CssRegistration Name="Themable/corev15.css" runat="server" />

<script type="text/javascript" src="/_layouts/15/sp.js"></script>

<script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>

<SharePoint:ScriptLink ID="ScriptLink1" runat="server" Name="~sitecollection/_catalogs/masterpage/Resources/js/jquery-1.11.0.min.js" Language="javascript" />

<SharePoint:ScriptLink ID="ScriptLink3" runat="server" Name="~sitecollection/_catalogs/masterpage/Resources/js/global.js" Language="javascript" />

<link rel="stylesheet" type="text/css" href="Resources/css/quack_1200.css" />

<link rel="stylesheet" type="text/css" href="Resources/css/main.css" />

</head>

Following order breaks my code like this (when I am trying to work with sp context):

<script type="text/javascript" src="/_layouts/15/sp.js"></script>

<script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>

However if I switch the order of the scripts like this I don't get the previous error but I get following error if I try to go to a list and click on an "Edit" button.

<script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>

<script type="text/javascript" src="/_layouts/15/sp.js"></script>

Any help on this confusing issue would be very much appreciated.

网友答案:

Use script tags as:

<Sharepoint:ScriptLink runat="server" Name="SP.js" Localizable="false"  ID="s1" LoadAfterUI="true"/>
<Sharepoint:ScriptLink runat="server" Name="SP.Runtime.js" Localizable="false"  ID="s2" LoadAfterUI="true"/>

It might solve your problem.

分享给朋友:
您可能感兴趣的文章:
随机阅读: