我面临这个错误消息,指的是这一行:
SP.SOD.executeFunc('sp.js', CheckCurrentUerGroup);
我对这个东西很陌生,但是是什么原因造成的呢?我想使用以下代码来使用基本的重定向机制:
<script src="/_layouts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="/_layouts/sp.core.js" type="text/javascript"></script>
<script src="/_layouts/sp.runtime.js" type="text/javascript"></script>
<script src="/_layouts/sp.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
alert("test");
});
<script type="text/javascript">
alert('2nd');
function IsCurrentUserMemberOfGroup(groupName, OnComplete) {
alert('IsCurrentUserMemberOfGroup');
var currentContext = new SP.ClientContext.get_current();
console.log(currentContext );
var currentWeb = currentContext.get_web();
var currentUser = currentContext.get_web().get_currentUser();
console.log(currentUser);
currentContext.load(currentUser);
var allGroups = currentWeb.get_siteGroups();
currentContext.load(allGroups);
var group = allGroups.getByName(groupName);
currentContext.load(group);
var groupUsers = group.get_users();
currentContext.load(groupUsers);
currentContext.executeQueryAsync(OnSuccess,OnFailure);
function OnSuccess(sender, args) {
var userInGroup = false;
var groupUserEnumerator = groupUsers.getEnumerator();
while (groupUserEnumerator.moveNext()) {
var groupUser = groupUserEnumerator.get_current();
if (groupUser.get_id() == currentUser.get_id()) {
userInGroup = true;
break;
}
}
OnComplete(userInGroup);
}
function OnFailure(sender, args) {
OnComplete(false);
}
}
function CheckCurrentUerGroup()
{
alert('checkcurrentuergroup');
IsCurrentUserMemberOfGroup("IT Department", function (isCurrentUserInGroup)
{
if(isCurrentUserInGroup)
{
//Redirect to a certain page
window.location = "httpd://www.youtube.com";
}
});
}
//$(document).ready(function() {
//CheckCurrentUerGroup();
//
//});
SP.SOD.executeFunc('sp.js', CheckCurrentUerGroup);
</script>
最佳答案
试试这个:
ExecuteOrDelayUntilScriptLoaded(CheckCurrentUerGroup, "sp.js");
关于javascript - 尝试在现代脚本编辑器上运行 JS 代码时出现“SP 未定义”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57806537/