Tip/BaiduCloud

[JS] 바이두 공유자료 10개씩 선택해서 들여오기

확인소장 2020. 3. 27. 07:23

안녕하세요.

제 블로그 댓글 중에 2015년경에 달린 댓글이 문득 눈에 들어오더군요.

상당히 뒷북입니다만...

발단

사실 제가 바이두 클라우드를 사용하는 빈도가 적어서 딱히 불편하다고 느끼질 못 했는데요.

그래도 10개씩 선택을 쉽게 해주면 편하겠다 싶어서 자바스크립트를 이용하여 만들었습니다.

사용법입니다.

10개씩 선택

위 움짤과 같이 [10개 선택] 버튼을 누르면 10개씩 선택(체크) 해줍니다.

한번 더 누르면 그 다음 10개를 선택합니다.

내부 동작은 그냥 클릭을 10번하고 그 다음엔 앞에 클릭했던걸 다시 클릭해서 체크해제하고 그 다음 10개를 클릭하는 단순한 구조입니다.

덕분에 10개 체크하고 중간에 한두개 체크를 푸르면 다음 10개 체크시 체크 풀었던게 다시 체크되있고 그렇습니다.

체크 했던건 체크 해제가 되구요.

아무것도 체크가 되있지 않은 초기 상태일때 활용하는걸 전제로 만들었습니다.

 

적용 방법입니다.

크롬 브라우저 기준입니다.

https://chrome.google.com/webstore/detail/user-javascript-and-css/nbhcbdghjpllgmfilhnhkllmkecfmpld

 

User JavaScript and CSS

User JavaScript and CSS on any website

chrome.google.com

User JavaScript and CSS 확장 프로그램을 설치합니다.

사용자 자바스크립트 사용이 가능한 확장프로그램은 어떤것이든 상관없습니다.

설치 후 설정 화면에서 [+Add new site] 노란 버튼을 눌러 추가합니다.

Setting 옆의 주소 입력칸에

 

pan.baidu.com/s/

위 주소를 입력하고

그 아래 JS칸엔 아래의 스크립트를 복사 & 붙여넣기를 합니다.

var indexd = Number(0); //기준점
var pag = Number(10); //선택갯수
function selectTen(){
	var chknode = $("dd.g-clearfix.AuPKyz.open-enable span.EOGexf");
	if ( indexd > 0 ){
		chknode.slice(indexd-pag,indexd).each(function(){this.click();});
		if ( pag < 10 ){
			pag = 10;
			indexd = 0;
		}
	}
	if ( chknode.length <= indexd+pag ) {
		chknode.slice(indexd,chknode.length).each(function(){this.click();});
		pag = chknode.length-indexd;
		indexd = chknode.length;
	}else{
		chknode.slice(indexd,indexd+pag).each(function(){this.click();});
		indexd += pag;
	}
}
window.onload = function(){
	$("a.g-button.g-button-blue").before("<a class='g-button' style='user-select: none;'><span class='g-button-right' onclick='selectTen();'><em class='icon icon-check' title='10개 선택'></em><span class='text' style='width: auto;'>10개 선택</span></span></a>");
}

그 후 저장을 하면 설정은 끝납니다.

작동이 잘 된다면 댓글을 남겨주세요.

작동에 문제가 있어도 댓글을 남겨주세요. 수정을 해보겠습니다.

 

+ 추가 내용

tampermonkey용 스크립트를 추가합니다.

// ==UserScript==
// @name         Baidu Share link select helper
// @namespace    https://w3tech.tistory.com/406
// @version      0.1
// @description  select 10 Baidu shared links by one click
// @author       w3tech
// @require     http://code.jquery.com/jquery-latest.min.js
// @match      *://pan.baidu.com/s/*
// ==/UserScript==
var $ = window.jQuery;
var indexd = Number(0); //기준점
var pag = Number(10); //선택갯수
function selectTen(){
	var chknode = $("dd.g-clearfix.AuPKyz.open-enable span.EOGexf");
	if ( indexd > 0 ){
		chknode.slice(indexd-pag,indexd).each(function(){this.click();});
		if ( pag < 10 ){
			pag = 10;
			indexd = 0;
		}
	}
	if ( chknode.length <= indexd+pag ) {
		chknode.slice(indexd,chknode.length).each(function(){this.click();});
		pag = chknode.length-indexd;
		indexd = chknode.length;
	}else{
		chknode.slice(indexd,indexd+pag).each(function(){this.click();});
		indexd += pag;
	}
}
window.onload = function(){
	$("a.g-button.g-button-blue").before("<a id='tenBtn' class='g-button' style='user-select: none;'><span class='g-button-right'><em class='icon icon-check' title='10개 선택'></em><span class='text' style='width: auto;'>10개 선택</span></span></a>");
	$("#tenBtn").click (selectTen);
}