1
我已經寫了一個相當直接的SharePoint Online的JavaScript,我將其作爲用戶自定義操作部署到使用CSOM的根網站集中。UserCustomAction不針對非在線SharePoint的非租戶管理員
下面的代碼是我使用的供應腳本到網站集塊:部署和測試最初的自定義操作,當我登錄的租戶管理員
public static void ProvisionScriptLinkCustomAction(ClientContext ctx, string name, string url)
{
Site site = ctx.Site;
ctx.Load(site.UserCustomActions);
ctx.ExecuteQuery();
foreach (UserCustomAction action in site.UserCustomActions)
{
if (action.Name == name)
{
action.DeleteObject();
break;
}
}
ctx.ExecuteQuery();
UserCustomAction customAction = site.UserCustomActions.Add();
customAction.Location = "ScriptLink";
customAction.Name = name;
customAction.ScriptSrc = url + "?" + Guid.NewGuid().ToString();
customAction.Update();
ctx.ExecuteQuery();
}
。一切工作如預期,直到我登錄作爲用戶是而不是租戶管理員。當以只有網站集管理員或更低級別的任何其他用戶身份登錄時,自定義操作不會觸發,我所有的努力都是徒勞的。
這感覺就像是一個配置或權限問題,但我不知道該怎麼看待糾正這個問題。
任何有幫助的想法將不勝感激!
儘管清除瀏覽器緩存,使用多個瀏覽器和所有其他技巧來處理潛在的緩存問題,但我認爲這已經歸結爲緩存問題。我在打開我的網站時打開了IE開發者工具中的網絡分析器,可以看到加載的JS文件。只要我看到它加載,預期的行爲(在新標籤或窗口中彈出外部鏈接)就表現出來了。但是,如果我在沒有開發人員工具的情況下返回該網站,則不會加載該腳本。 –