SharePoint 목록을 클립보드에 복사
8039 단어 SharePoint
이럴 때는 웹 콘솔의 차례입니다.
웹 콘솔에 붙여넣는 코드
let a = "";
document.querySelector(".ms-DetailsList-contentWrapper").querySelectorAll(".ms-List-cell").forEach((e) => {
e.querySelectorAll(".ms-DetailsRow-cell").forEach((l) => {
a += !l.classList.contains("ms-DetailsRow-cellCheck") && l.textContent != "" ? l.textContent.trim() + "\t" : "";
});
a += "\n";
});
console.log(a);
스크린샷 부분만의 출력 예
2019/07/14 SBC://5
2019/07/17 Facelook Part.8
2019/07/19 もくもく会@にしとも広場
하고 있는 일
ms-DetailsList-contentWrapper
는 SharePoint 목록 테이블의 "데이터 부분만"을 둘러싸고 있는 div 클래스입니다. HTML 테이블에서 말하는 tbody 같은 것입니다.
이 요소내의 ms-List-cell
클래스를 취득하면(자), 모든 행이, 그 아래에 있는 ` ms-DetailsRow-cell
라고 하는 클래스를 취득하면(자) 그 안의 각 셀을 취득할 수 있습니다.
그 중 '텍스트 부분만'을 출력해 조합해 나가는 것으로, 리스트의 텍스트 부분만을 추출할 수 있습니다.
다만, 이대로라면 각 행의 체크 박스까지 추출해 버리기 때문에, 체크 박스 셀에 붙어 있는 ms-DetailsRow-cellCheck
라고 하는 클래스를 검출해, 그것을 출력으로부터 제외합니다.
북마크릿으로 만들었습니다.
비교적 자주 사용하므로 북마크릿으로 했습니다. 드디어 다음 기능을 추가했습니다.
비교적 자주 사용하므로 북마크릿으로 했습니다. 드디어 다음 기능을 추가했습니다.
또, 복사할 수 있는 문장은 개발자 모드의 콘솔이 아니고, 새로운 윈도우에 표시되므로, 전선택해 복사합니다.
javascript:a="";f=null==document.querySelector(".ms-DetailsRow-cellCheck div:first-child[aria-checked=true]");document.querySelector(".ms-DetailsList-contentWrapper").querySelectorAll(".ms-List-cell").forEach(function(c){if("true"===c.querySelector(".ms-DetailsRow-cellCheck div:first-child").getAttribute("aria-checked").toLowerCase()||f)c.querySelectorAll(".ms-DetailsRow-cell").forEach(function(b){a+=b.classList.contains("ms-DetailsRow-cellCheck")||""==b.textContent?"":b.textContent.trim()+"\t"}),a+="\n"}); window.open("about:blank").document.write("<pre>"+a+"</pre>");
컴파일러는 평소를 사용했습니다. 컴파일 전의 소스는 gist에 공개하고 있습니다.
Reference
이 문제에 관하여(SharePoint 목록을 클립보드에 복사), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/TakamiChie/items/e7c8e7ed5d37949298cd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)