2016-01-21 1 views
0

Я загрузил файл (.htm) в мою библиотеку sharepoint. Когда я нажимаю на файл, он выводит меня на страницу и запускает скрипт, однако JavaScript-код sharepoint не работает. Когда я ввожу _spPageContextInfo.userId; в консоль, это ошибки not defined.Sharepoint Javascript (_sp) не запускается в загруженном файле в библиотеку для веб-части клиента

Когда я пытаюсь ввести _spPageContextInfo.userId; в консоль предыдущего окна, библиотеку sharepoint, он возвращает мой идентификатор пользователя.

Любые мысли о том, как заставить JavaScript sharepoint оставаться в загруженном файле? Я запускаю sharepoint 2010

Когда я открываю инструменты chromes dev, я не вижу папку _layout с файлами .js (я вижу их, когда я на главной странице библиотеки sharepoint). Возможно, есть способ связать их? Извините, я не очень много знаю о веб-страницах.

EDIT:

Я включил

<meta name="WebPartPageExpansion" content="full" /> 
<script src="/_layouts/1033/init.js"></script> 
<script src="/_layouts/MicrosoftAjax.js"></script> 
<script src="/_layouts/sp.core.js"></script> 
<script src="/_layouts/cui.js"></script> 
<script src="/_layouts/sp.ui.mylinksribbon.js"></script> 
<script src="/_layouts/sp.ui.dialog.js"></script> 
<script src="/_layouts/sp.ui.policy.ribbon.js"></script> 
<script src="/_layouts/sp.ui.rte.js"></script> 
<script src="/_layouts/sp.ribbon.js"></script> 
<script src="/_layouts/sp.runtime.js"></script> 
<script src="/_layouts/sp.js"></script> 

Теперь, когда я иду в консоль я могу успешно напечатать _spPageLoaded, но _spPagecontextInfo это не вариант ...

ответ

0

Если вы хотите для обеспечения функциональности, предоставляемой SharePoint, вам необходимо внедрить свой контент на страницу SharePoint.

  1. Редактирование страницы в SharePoint
  2. Добавить редактора содержимого веб-части на страницу
  3. редактирования содержимого веб-часть редактора
  4. В панели свойств веб-части, которая появляется на правой стороне, найти «Content Link» текстовое поле
  5. Вставить в URL путь к загруженному .htm файл (обратите внимание, что он не должен быть .htm или .html файл ... любой действительный текстовый файл будет делать)
  6. Сохранить свойства веб-части и остановка редактирование страницы

Веб-часть Редактора содержимого затем отобразит ваш контент на странице. Ваш файл должен содержать допустимый фрагмент HTML и содержать теги скриптов.

+0

Спасибо за помощь, @Thriggle. Я попытался сделать это, но потом столкнулся с проблемами с 'hover', а также с'

'. Это нормально? Я не уверен в наведении, но я читал, что нельзя использовать , потому что Sharepoint уже использует его. – As3adTintin

+0

Да, проблема 'form' будет вызвана тем, что вся страница SharePoint уже завернута в тег' ', и вы не можете иметь вложенные формы. Какие проблемы с наведением CSS вы сталкиваетесь? Следует иметь в виду, что SharePoint 2010 обычно заставляет Internet Explorer работать в режиме совместимости, поэтому вы, по существу, работаете с IE 8 с точки зрения поддержки CSS и JavaScript. – Thriggle

+0

'onmouseover =" hover_sel_img() "' перестает работать. Я также больше не могу прокручивать веб-страницу, поэтому я не уверен, где это. – As3adTintin

2

Ниже я нашел минимальную квалификацию для отдельной страницы для работы с библиотеками JavaScript Class и другими функциями.

Вы можете отредактировать страницу с помощью Блокнота или любого текстового редактора и загрузить в библиотеку документов.
Просто убедитесь, чтобы сохранить как .aspx

Вы все еще не будете в состоянии использовать form элемент. Но это можно преодолеть, используя API SP.ClientContext или REST.

<%@ Page language="C#" %> 
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Import Namespace="Microsoft.SharePoint" %> 
<!DOCTYPE html> 
<html lang="en"> 
    <!-- document information --> 
    <head> 
    <!-- meta information --> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

    <!-- css: sharepoint --> 
    <link rel="stylesheet" type="text/css" href="/_layouts/1033/styles/Themable/corev4.css?rev=3TRomkG1g2gMGz4rekMIQg%3D%3D"/> 
    <link rel="stylesheet" type="text/css" href="/_layouts/1033/styles/Themable/search.css?rev=T%2Bhraxktc1A8EnaG5gGMHQ%3D%3D"/> 
    </head> 

    <!-- document content --> 
    <body> 
    <!-- required: SharePoint FormDigest --> 
    <form runat="server"> 
     <SharePoint:FormDigest runat="server"></SharePoint:FormDigest> 
    </form> 

    <!-- required: script sources --> 
    <!-- script: SharePoint --> 
    <script src="/_layouts/1033/init.js"></script> 
    <script src="/_layouts/1033/core.js"></script> 
    <script src="/_layouts/MicrosoftAjax.js"></script> 
    <script src="/_layouts/SP.Core.js"></script> 
    <script src="/_layouts/SP.Runtime.js"></script> 
    <script src="/_layouts/SP.js"></script> 
    <script src="/_layouts/SP.UI.Dialog.js"></script> 
    <script src="/_layouts/ScriptResx.ashx?culture=en%2Dus&name=SP%2ERes"></script> 

    <!-- script: local --> 
    <script> 
     console.log(_spPageContextInfo.userId); 
    </script> 
    </body> 
</html> 
+0

надеюсь, что это поможет ... – WhiteHat

 Смежные вопросы

  • Нет связанных вопросов^_^