我遇到此错误消息,请参考以下行:
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>
答案 0 :(得分:2)
尝试一下:
ExecuteOrDelayUntilScriptLoaded(CheckCurrentUerGroup,“ sp.js”);
答案 1 :(得分:0)
测试演示:
<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>
<script src="/_layouts/15/sp.init.js"></script>
<script type="text/javascript">
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);
debugger;
function OnSuccess(sender, args) {
debugger;
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) {
debugger;
OnComplete(false);
}
}
function CheckCurrentUerGroup() {
alert('checkcurrentuergroup');
IsCurrentUserMemberOfGroup("App Dev Members", function (isCurrentUserInGroup) {
if (isCurrentUserInGroup) {
//Redirect to a certain page
window.location = "https://www.youtube.com";
}
});
}
//$(document).ready(function() {
//CheckCurrentUerGroup();
//
//});
//SP.SOD.executeFunc('sp.js', CheckCurrentUerGroup);
SP.SOD.executeOrDelayUntilScriptLoaded(CheckCurrentUerGroup, "sp.js");
</script>