2013-04-03 109 views
0

我有一些奇怪的錯誤。 2010年的SharePoint我有類似:部署時自定義操作url錯誤:部署步驟發生錯誤

 <UrlAction Url="javascript:OpenPopUpPageWithTitle('{SiteUrl}/Style Library/AdminPage/AdminPage.aspx?itemid={ItemId}&#38;listid={ListId}');" /> 

而且workes

但在SharePoint 2013我有錯誤,同時部署

錯誤發生在部署第1個錯誤 '爲SharePoint安裝應用程序' :驗證App包時出現錯誤。

應用程序處於自動模式。我不知道該怎麼做,我試過任何js在urlaction它不想工作...

回答

2

好吧,我發現了。

如果您在CommandAction中添加JavaScript代碼,您的應用程序將無法在SharePoint中部署。它將導致以下錯誤消息(ULS日誌) - 意外的異常:驗證App軟件包時出現錯誤:驗證App軟件包時出現錯誤。與此異常相關的其他警告/錯誤:自定義操作網址必須以「http:」,「https:」,「〜appWebUrl」或「〜remoteAppUrl」開頭。該解決方案是新的屬性附加傷害就像customactions:

  HostWebDialog="TRUE" 
      HostWebDialogHeight="420" 
      HostWebDialogWidth="510" 

我認爲它可以幫助別人

0

根據MSDN這是不可能的:

CustomAction不能包含JavaScript:任何UrlActions或 CommandActions必須是要導航到的網址。除了 特定於應用程序的標記之外,該URL可以是 參數化的正常自定義操作標記。

使用HostWebDialog似乎是此場景的首選方法。您也可以考慮在應用程序Web中爲頁面傳遞一個附加參數,以便識別它是從CustomAction打開的。