#sharepoint
#sharepoint
Вопрос:
Очень просто, у меня есть некоторый Javascript, который я хочу загружать только в режиме отображения, потому что событие щелчка мешает щелчку в веб-частях редактора содержимого. В настоящее время скрипт загружается как в режиме отображения, так и в режиме редактирования со следующим тегом:
<PublishingWebControls:EditModePanel runat=server PageDisplayMode="Display">
<script type="text/javascript" src="../_scripts/metroUI.js"></script>
</PublishingWebControls:EditModePanel>
И вот мои пространства имен:
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register Tagprefix="SharePointWebControls" namespace="Microsoft.SharePoint.WebControls" assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="PublishingWebControls" Namespace="Microsoft.SharePoint.Publishing.WebControls" Assembly="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePointPortalControls" Namespace="Microsoft.SharePoint.Portal.WebControls" Assembly="Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="cmsc" namespace="Microsoft.SharePoint.Publishing.WebControls" assembly="Microsoft.SharePoint.Publishing, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="WpNs1" Namespace="Microsoft.SharePoint.Portal.WebControls" Assembly="Microsoft.Office.Server.Search, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="WebControls" namespace="Microsoft.SharePoint.Publishing.WebControls" assembly="Microsoft.SharePoint.Publishing, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Taxonomy" Namespace="Microsoft.SharePoint.Taxonomy" Assembly="Microsoft.SharePoint.Taxonomy, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
Чего мне не хватает?
РЕДАКТИРОВАТЬ: кроме того, если я переключу страницу на PageDisplayMode=»Редактировать», скрипт не загружается ни в одном месте.
Ответ №1:
Я поместил то, что у меня было, и что работает для меня. Единственное, что я могу заметить в верхней части моей головы, это то, что у вас есть runat=server, а не runat=»сервер»
Боюсь, я больше ничего не знаю.
<SharePointWebControls:UIVersionedContent UIVersion="4" runat="server">
<ContentTemplate>
<SharePointWebControls:CssRegistration name="<% $SPUrl:~sitecollection/Style Library/~language/Core Styles/page-layouts-21.css %>" runat="server"/>
<PublishingWebControls:EditModePanel runat="server">
<!-- Styles for edit mode only-->
<SharePointWebControls:CssRegistration name="<% $SPUrl:~sitecollection/Style Library/~language/Core Styles/edit-mode-21.css %>"
After="<% $SPUrl:~sitecollection/Style Library/~language/Core Styles/page-layouts-21.css %>" runat="server"/>
</PublishingWebControls:EditModePanel>
<!-- For Javascript that can not be used in publishing mode due to issue with Array.prototype breaking sharepoing. -->
<PublishingWebControls:EditModePanel runat="server" id="Someid" PageDisplayMode="Display" >
<!-- Interactive -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
</PublishingWebControls:EditModePanel>
</ContentTemplate>
</SharePointWebControls:UIVersionedContent>
Комментарии:
1. Подумав об этом, проверьте UIVersion, который вы используете. UIVersion =»4″, я также видел его как «3».
Ответ №2:
Если вы включаете это на страницу, вам может потребоваться включить SuppressTags=»True», чтобы опустить заключающие теги.
<PublishingWebControls:EditModePanel runat="server" PageDisplayMode="Display" SuppressTag="True">
[Content here]
</PublishingWebControls:EditModePanel>