편집 요약 없음 |
편집 요약 없음 |
||
18번째 줄: | 18번째 줄: | ||
} catch (e) { | } catch (e) { | ||
newItem.href = 'javascript:;'; // 'Invalid URL' | newItem.href = 'javascript:;'; // 'Invalid URL' | ||
console.log('a'); | |||
return ; | return ; | ||
} | } | ||
newItem.href = callbackOrUrl; | newItem.href = callbackOrUrl; | ||
console.log('b'); | |||
break; | |||
case 'function': | case 'function': | ||
newItem.onclick = callbackOrUrl; | newItem.onclick = callbackOrUrl; | ||
newItem.href = 'javascript:;'; // 'Invalid URL' | |||
break; | |||
} | } | ||
}; | }; |
2023년 12월 30일 (토) 21:13 판
function extendedDropdownItem(htmlObject) {
this.menuitem = htmlObject;
this.AddItem = function (buttontitle, buttonname, callbackOrUrl) {
let newItem = this.menuitem.cloneNode(true);
this.menuitem.after(newItem);
newItem.innerHTML = buttonname;
newItem.accessKey = '';
newItem.style.cursor = 'pointer';
newItem.title = buttontitle;
switch (typeof callbackOrUrl) {
case 'string':
try {
new URL(callbackOrUrl);
} catch (e) {
newItem.href = 'javascript:;'; // 'Invalid URL'
console.log('a');
return ;
}
newItem.href = callbackOrUrl;
console.log('b');
break;
case 'function':
newItem.onclick = callbackOrUrl;
newItem.href = 'javascript:;'; // 'Invalid URL'
break;
}
};
this.SetMenuItem = function (htmlObject) { this.menuitem = htmlObject; };
}
if (mw.config.get('skin') == "liberty") {
window.extendedDropdownItemArray = window.extendedDropdownItemArray || new extendedDropdownItem(document.querySelector('.content-tools .dropdown-item:last-child'));
}
else if (mw.config.get('skin') == "timeless") {
window.extendedDropdownItemArray = window.extendedDropdownItemArray || new extendedDropdownItem(document.querySelector('.mw-portlet-body #ca-move.mw-list-item'));
}