편집 요약 없음 |
편집 요약 없음 |
||
37번째 줄: | 37번째 줄: | ||
} | } | ||
var skinContentTool = { | |||
['liberty']: ".content-tools .dropdown-item:last-child", | ['liberty']: ".content-tools .dropdown-item:last-child", | ||
['timeless']: ".mw-portlet-body #ca-move.mw-list-item" | ['timeless']: ".mw-portlet-body #ca-move.mw-list-item" |
2023년 12월 31일 (일) 00:21 판
/**
* 문서 메뉴에 버튼을 추가하는 기능을 추가합니다.
* @date 2023. 12. 31. - 오전 12:12:53
*
* @param {HTMLElement} htmlObject
*/
function addArticleMenuItem(htmlObject) {
this.menuitem = htmlObject;
this.AddItem = function (buttontitle, buttonname, callbackOrUrl) {
let newItem = this.menuitem.cloneNode(true);
this.menuitem.after(newItem);
if (newItem.nodeName != "A") {
newItem.innerHTML = "";
let linkItem = document.createElement('a');
newItem.append(linkItem);
newItem = linkItem;
}
newItem.innerHTML = buttonname;
newItem.accessKey = '';
newItem.style.cursor = 'pointer';
newItem.title = buttontitle;
try {
newItem.href = new URL(callbackOrUrl);
} catch (e) {
newItem.href = 'javascript:;'; // 'Invalid URL'
newItem.onclick = callbackOrUrl;
return;
}
};
this.SetMenuItem = function (htmlObject) { this.menuitem = htmlObject; };
}
var skinContentTool = {
['liberty']: ".content-tools .dropdown-item:last-child",
['timeless']: ".mw-portlet-body #ca-move.mw-list-item"
}
window.extendedDropdownItemArray =
window.extendedDropdownItemArray || new addArticleMenuItem(skinContentTool[mw.config.get('skin')]);