JavaScript с CEWP Использование ClientContext, мне нужно добавить SRC в тег?
-
09-12-2019 - |
Вопрос
Я новичок в SP Dev, и я пытаюсь добавить несколько CEWPS, которые ссылаются на JavaScript, я поместил в текстовые файлы и загрузил в библиотеку документов. Для функций Bland, кажется, работает нормально, однако для работы с данными и списками я не могу получить его на работу.
Ниже приведен JavaScript, где я просто пытаюсь схватить все имена списков:
<script type='text/javascript'>
function listLists()
{
alert("In the function");
var ctx = new SP.ClientContext.get_current();
this.oListColl = ctx.get_web().get_lists();
ctx.load(this.oListColl);
ctx.executeQueryAsync(Function.createDelegate(this, this.onSuccess), Function.createDelegate(this, this.onFail));
}
function onSuccess(sender, args)
{
var listEnum = this.oListColl.getEnumerator();
while(listEnum.moveNext())
{
var oList = listEnum.get_current();
alert(oList.get_title());
}
}
function onFail(sender, args)
{
alert('FAIL!');
}
listLists();
</script>
.
Так что я смог сделать это в дизайнере SharePoint, однако я хотел бы узнать, как сделать его работать с библиотечным подходом. Я знаю, что в SPD мне нужно добавить целую SharePoint: ссылку на сценарий на «sp.js» под мета-тегами, и я предполагаю, что причина, по которой это не работает, в этом типе подхода нет Справка??? Если так, я просто не знаю, как или если я могу сделать это?
Так что оповещение было просто так, чтобы я мог сказать, как далеко он становится, хотя следующая строка, кажется, она остановилась (использовала еще одно предупреждение об установлении контекста, и он не вернулся). Я также просто пойду вперед и спрошу, если бы этому произведению, я хотел бы заменить предупреждение с документом .write вид ... Может кто-нибудь помочь с примером этого?
Спасибо за любую помощь; Всегда ценится!
Решение
Да, вам нужно добавить ссылку на SP.JS
<script type="text/javascript">
window.onload = function(){ ExecuteOrDelayUntilScriptLoaded(ViewItem, "sp.js"); };
</script>
. Другие советы
Вот Комментарии Kai с решением
function myfunc(){
ExecuteOrDelayUntilScriptLoaded(listLists, "sp.js");
}
_spBodyOnLoadFunctionNames.push("myfunc");
.