2016-09-29 95 views
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(); 
    } 

。一切工作如預期,直到我登錄作爲用戶是而不是租戶管理員。當以只有網站集管理員或更低級別的任何其他用戶身份登錄時,自定義操作不會觸發,我所有的努力都是徒勞的。

這感覺就像是一個配置或權限問題,但我不知道該怎麼看待糾正這個問題。

任何有幫助的想法將不勝感激!

+0

儘管清除瀏覽器緩存,使用多個瀏覽器和所有其他技巧來處理潛在的緩存問題,但我認爲這已經歸結爲緩存問題。我在打開我的網站時打開了IE開發者工具中的網絡分析器,可以看到加載的JS文件。只要我看到它加載,預期的行爲(在新標籤或窗口中彈出外部鏈接)就表現出來了。但是,如果我在沒有開發人員工具的情況下返回該網站,則不會加載該腳本。 –

回答

0

原來我在我的JavaScript中有console.log調用。在瀏覽器模式下,某些版本的IE顯然不知道如何登錄到控制檯,而沒有可能會引發未捕獲和未記錄的異常的調試工具。刪除console.log語句使問題消失。

相關問題