メタデータを含むドキュメントがフォルダ内にない場合、以下のコードは問題なく動作します。ドキュメントがドキュメントライブラリのフォルダに置かれるとすぐに、私はwhile (enumerator.moveNext()) {
の後に動作を停止します。console.logをコード内の別々の行に置きました。これが応答を停止するポイントです。javacriptクライアントオブジェクトモデルのフォルダ内のSharePoint内のドキュメントからメタデータを取得できません
私はviewitem.aspxという新しいdispform.aspxを作成しました。このjsファイルは、メタデータを取り出してページの別のdivに表示するためにリンクされています。以下
コードです:
function getBody() {
var context = new SP.ClientContext("https://xxx.sharepoint.com/sites/xxx");
var list = context.get_web().get_lists().getByTitle('Docs');
JSRequest.EnsureSetup();
var listItemId = GetUrlKeyValue("ID");
var item = new SP.CamlQuery();
item.set_viewXml("<View><Query><Where><Eq><FieldRef Name='ID'/><Value Type='Number'>" + listItemId + "</Value></Eq></Where></Query></View>");
returnedItemsBE1 = list.getItems(item);
context.load(returnedItemsBE1);
context.executeQueryAsync(onSucceededCallbackBE1);
}
function onSucceededCallbackBE1() {
var enumerator = returnedItemsBE1.getEnumerator();
while (enumerator.moveNext()) {
var listItem = enumerator.get_current();
var tmbod = listItem.get_item('TmBody');
var tmfile = listItem.get_item('TmAttachmentTitle');
var tmId = listItem.get_item('TmTransID');
var tmfileurl = 'https://xxx.sharepoint.com/sites/xxx/Docs/'+tmId+'_'+tmfile;
document.getElementById("fileLink").href = tmfileurl;
document.getElementById("fileLink").innerText = tmfile ;
var bdiv = document.getElementById("bodyDiv");
bdiv.innerHTML = tmbod;
}
}
`
私はURLが変更されると、私は、フォルダ内にあるアイテムがすべての違いを作ることができる方法を見つけ出すことはできませんが、オンラインのSharePoint 2013を使用していますそれでもファイルIDなどが含まれています...
私は検索して検索しましたが、これについての参照は見つかりませんでした。
賢い、ありがとう! – OllieSP