Использование функций sp.js за пределами sharepoint
Я пытаюсь получить имя пользователя и адрес электронной почты от точки доступа, используя их библиотеку JS. Однако мне удалось это сделать, у меня есть домашняя страница этого веб-сайта на локальном сервере, на котором работает веб-сервер Apache, из-за моей потребности в PHP (для запроса базы данных MySql). Я думал о передаче информации через URL-адрес, но осознание того, что домашняя страница связана на каждой отдельной странице 1000+ страниц, и необходимость добавлять это на каждую страницу, было бы пугающим, в первую очередь из-за ужасной системы загрузки Sharepoints. Я перечислю код, который я использовал на сайте sharepoint.
Метки скрипта:
<script src="/_layouts/15/init.js"></script>
<script src="/_layouts/15/MicrosoftAjax.js"></script>
<script src="/_layouts/15/ScriptResx.ashx?name=sp.res&culture=en-us"></script>
<script src="/_layouts/15/sp.runtime.js"></script>
<script src="/_layouts/15/SP.Core.js"></script>
<script src="/_layouts/15/sp.js"></script>
JS-код:
<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(init,'sp.js');
var currentUser;
function init()
{
this.clientContext = new SP.ClientContext.get_current();
this.oWeb = clientContext.get_web();
currentUser = this.oWeb.get_currentUser();
this.clientContext.load(currentUser);
this.clientContext.executeQueryAsync(Function.createDelegate(this,this.onQuerySucceeded), Function.createDelegate(this,this.onQueryFailed));
}
function onQuerySucceeded()
{
var username = currentUser.get_title();
var useremail = currentUser.get_email();
if (typeof(Storage) !== "undefined")
{
localStorage.setItem("userName", username);
localStorage.setItem("email", useremail);
document.getElementById("userTitle").innerHTML = username;
document.getElementById("userEmail").innerHTML = useremail;
var urlString = "URL Censored?username=" + username + "&email=" + useremail;
window.location = (urlString);
}
}
function onQueryFailed(sender, args)
{
alert('Request failed. \nError: ' + args.get_message() + '\nStackTrace: ' + args.get_stackTrace());
}
Отображаемый HTML-код:
<div class="information">
<span id="userTitle"></span></br>
<span id="userEmail"></span></br>
</div>
CSS:
.information
{
position: absolute;
top: 10px;
right: 10px;
color: white;
}
Я не буду заявлять, что этот JavaScript принадлежит мне. Я в первую очередь Java-разработчик. Я только недавно начала делать этот сайт. (4 месяца или около того) Любая помощь в понимании этого будет высоко оценена. Приложил много усилий, чтобы изучить это, в надежде оказаться там, где я нахожусь в Java в какой-то момент.