2014-10-22 36 views
1

我想要實現的是找到一種方式,在我爲員工開發的工具中顯示浮動iFrame中的維基頁面內容(當然,保留樣式)。現在我所做的工具是使用jQuery對話框來顯示特定的文檔/ pdf,爲了兼容性和可用性的目的,我真的很想升級它,所以它使用的是wiki頁面而不是文檔/ PDF。我面臨的問題是沒有真正直接鏈接到Sharepoint wiki頁面的內容,而是唯一可用的直接鏈接是所有導航菜單,選項面板,用戶面板等頁面。我想避免使用javascrip去掉去掉這些元素。相反,我只是試圖瞭解SharePoint 2013是否提供了一些更優雅的方式來提供內容,例如:Web服務或JavaScript SP API。Extract Sharepoint 2013 wiki頁面iFrame中沒有主佈局的HTML源/顯示wiki頁面?

我的想法到目前爲止:

REST要給內容返回的URL?我知道它確實適用於列表和庫,但我在REST API中找不到任何內容關於wiki頁面內容 SP.js?無法找到任何關於 的任何內容,無論如何,我可能忽略了一些事情,或者可能沒有足夠努力地搜索。但是,任何幫助都非常受歡迎。如果你不知道具體的解決方案,我會很高興與好的建議也:)

如果沒有什麼開箱,我將不得不去我的jQuery解決方案的備份計劃,以獲得頁面並剝去所有不必要的內容並保持造型。

回答

1

我相信你在REST API的正確軌道上,在Enterprise Wiki頁面內容存儲在PublishingPageContent屬性中。

下面的例子演示瞭如何獲取企業Wiki頁面內容:

var getWikiPageContent = function (webUrl,itemId,result) { 
    var listTitle = "Pages"; 
    var url = webUrl + "/_api/web/lists/GetByTitle('" + listTitle + "')/items(" + itemId + ")/PublishingPageContent"; 
    $.getJSON(url,function(data) { 
     result(data.value); 
    }); 
} 

使用

getWikiPageContent('https://contoso.sharepoint.com/',1,function(pageContent){ 
    console.log(pageContent); 
}); 
+1

首先非常感謝您爲Enterprise Wiki提供的解決方案。它必須與SharePoint列表有關,我只是認爲它不會那麼簡單......我之前使用過REST API,從來沒有想過它是與頁面相同的概念。然而,這個例子並不適用於發佈網站,即使我驗證了列表的名稱和所有這些。順便說一句在我的情況下,我發現使用REST API的一些更有用的方法: mysite.sharepoint.com/wikiSite/_api/web/Lists/getbytitle('Pages')/items?$filter=Title eq'home' 過濾器選項很棒;) – Lys 2014-10-23 08:39:44

0

而且東西給你們誰喜歡有多個不同的例子:

var inner_content; 
var page_title = "home"; 

$.ajax({ 
     url: "https://mysharepoint.sharepoint.com/MyEnterpriseWikiSite/_api/web/Lists/getbytitle('Pages')/items?$filter=Title eq '" + page_title +"'", 
     type: "GET", 
     headers: { 
      "ACCEPT": "application/json;odata=verbose" 
     }, 
     success: function (data) { 

      if (data.d.results[0]) { 
       inner_content = data.d.results[0].PublishingPageContent; 
      } 

     }, 
     error: function(){ //Show Error here } 
    }); 

T帽子對我來說是什麼工作。

本示例按標題提取企業wiki頁面的內容(請確保您沒有使用頁面的名稱,但標題和名稱可以賦予相同的字符串值,它們是SharePoint 2013中的不同字段)

相關問題