문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 여기에는 다른 사용자의 개인 설정이 포함되어 있기 때문에 이 자바스크립트 문서를 편집할 수 없습니다. 문서의 원본을 보거나 복사할 수 있습니다. importScript("User:Senior9324/Gadget-ReferenceDrawerDev.js"); importStylesheet("User:Senior9324/Gadget-ReferenceDrawerDev.css"); /* * written By. LiteHell * Warning : This script uses localStorage of your browser so BREADCUMB WILL BE DELETED IF YOU CLEAR STORAGE DATA FROM YOUR BROWSER. */ if (mw.config.exists("wgIsArticle") && mw.config.exists("wgPageName") && mw.config.exists("wgArticlePath") && mw.config.exists("wgNamespaceNumber")) { var conf = mw.config.get(["wgIsArticle", "wgPageName", "wgArticlePath", "wgNamespaceNumber"]); if (conf.wgIsArticle) { var itemName = "pageBreadcumbs"; function initStorageIfRequired() { if (localStorage.getItem(itemName) == null) localStorage.setItem(itemName, "[]"); } function setStorage(value) { initStorageIfRequired(); localStorage.setItem(itemName, JSON.stringify(value.slice(-20))); } function getStorage() { initStorageIfRequired(); return JSON.parse(localStorage.getItem(itemName)); } function makeBreadBar(arr, active) { var ol = document.createElement("ol"); ol.className = "breadcrumb"; ol.innerHTML = '<li id="cleanBreads"><a href="javascript:(function(){})();" style="color: red;"><span class="glyphicon glyphicon-trash"></span></a></li>'; ol.querySelector('li#cleanBreads > a').addEventListener("click", function() { if (confirm("진짜로 빵가루를 전부다 청소할까요?")) { localStorage.setItem(itemName, "[]"); alert('강제 새로고침하면 지워져 있을겁니다. :)'); } }); for (var i = 0; i < arr.length; i++) { var now = arr[i]; var li = document.createElement("li"); if (now == active) { li.className = "active"; li.textContent = now; } else { var anchor = document.createElement("a"); anchor.href = conf.wgArticlePath.replace('$1', now); anchor.title = now; anchor.textContent = now; li.appendChild(anchor); } ol.appendChild(li); } return ol; } var articles = getStorage(), discuss = (conf.wgNamespaceNumber % 2) || (conf.wgNamespaceNumber == 2600); if(!(articles.length == 0) || !discuss) { if((articles.length == 0 || (articles.length != 0 && articles[articles.length - 1] != conf.wgPageName)) && !discuss) articles.push(conf.wgPageName); setStorage(articles, conf.wgPageName); var breadbar = makeBreadBar(articles, conf.wgPageName); var contentButtons = document.querySelector(".libre_content_tools"); contentButtons.parentNode.insertBefore(breadbar, contentButtons); } } } var temp = {}, maps = { "conditions": { "border1": "---비자유 저작물---", "퍼옴": {value: "독점적 저작권이 있는 비자유 저작물을 가져왔습니다.", own: false}, "border2": "---크리에이티브 커먼즈 라이선스---", "by": {value: "저작자표시"}, "by-sa": {value: "저작자표시-동일조건변경허락"}, "by-nd": {value: "저작자표시-변경금지"}, "by-nc": {value: "저작자표시-비영리"}, "by-nc-sa": {value: "저작자표시-비영리-동일조건변경허락"}, "by-nc-nd": {value: "저작자표시-비영리-변경금지"}, "border3": "---기타 라이선스---", "공공누리 제1유형": {value: "공공누리 제1유형: 출처표시", own: false}, "정보공유라이선스 허용": {value: "정보공유라이선스 2.0: 허용"}, "border4": "---퍼블릭 도메인---", "cc-0": {value: "CC0 1.0 퍼블릭 도메인"}, "PD-self": {value: "저작권을 포기하여 퍼블릭 도메인으로 배포합니다.", own: true}, "PD-author": {value: "타인에 의해 퍼블릭 도메인으로 배포됨"}, "PD-old": {value: "저작권 보호기간이 만료되어 저작권이 소멸됨", own: false}, "PD-ineligible": {value: "창작성이 결여되어 보호에 부적격합니다.", own: false}, "저작권법 제7조": {value: "법령, 고시, 사실 전달에 불과한 시사보도입니다.", own: false} }, "versions": { "2.0": "2.0 일반", "2.0-kr": "2.0 대한민국", "2.5": "2.5 일반", "3.0": "3.0 Unported", "4.0": "4.0 국제" } }; function makeDropdown(map) { var dropdown = $("<select>"); dropdown.append('<option value="">기본값</option>'); for (var i in map) { if (map.hasOwnProperty(i)) { if (i.indexOf("border") > -1) { dropdown.append($("<option>").prop("disabled", true).attr("value", "").css("color", "gray").text(map[i])); } else if (map[i].constructor === String) { dropdown.append($("<option>").attr("value", i).text(map[i])); } else { dropdown.append($("<option>").attr("data-own", map[i].own).attr("value", i).text(map[i].value)); } } } return dropdown; } function LicenseDropdown() { var licenseElem = $("<input>").attr("id", "wpLicense").attr("type", "hidden").attr("name", "wpLicense"); var licenseDropdown, versionDropdown; var ownCheckBox = $("<input>").attr("type", "checkbox").change(function() { licenseDropdown.val(""); applyValue(""); if (ownCheckBox.is(":checked")) { licenseDropdown.find("[data-own=true]").prop("disabled", false); licenseDropdown.find("[data-own=false]").prop("disabled", true); } else { licenseDropdown.find("[data-own=true]").prop("disabled", true); licenseDropdown.find("[data-own=false]").prop("disabled", false); } }); $("#wpLicense").replaceWith(licenseElem); licenseDropdown = makeDropdown(maps.conditions).css("width", "70%"); versionDropdown = makeDropdown(maps.versions).css("width", "30%").prop("disabled", true); var applyValue = function(value) { if (ownCheckBox.is(":checked") && value !== "") { licenseElem.val("자작|" + value).trigger("change"); } else { licenseElem.val(value).trigger("change"); } }; licenseDropdown.change(function() { var condition = licenseDropdown.val(); if (condition.indexOf("by") == 0) { versionDropdown.prop("disabled", false); if (!versionDropdown.val()) { applyValue(""); return; } applyValue("cc-" + condition + "-" + versionDropdown.val()); } else { versionDropdown.prop("disabled", true); applyValue(condition); } }); versionDropdown.change(function() { var condition = licenseDropdown.val(); if (condition.indexOf("by") == 0) { versionDropdown.prop("disabled", false); if (!versionDropdown.val()) { applyValue(""); return; } applyValue("cc-" + condition + "-" + versionDropdown.val()); } }); licenseDropdown.insertAfter(licenseElem); versionDropdown.insertAfter(licenseDropdown); $("<label>").append(ownCheckBox).append(document.createTextNode(" 자작")).insertAfter(versionDropdown); licenseElem.change(function() { var tempname = licenseElem.val(); if (!tempname) { $("#mw-license-preview").html(""); return; } if (temp[tempname]) { $("#mw-license-preview").html(temp[tempname]); } else { $.ajax({ type: "GET", url: mw.util.wikiScript("api"), data: { action: "parse", format: "json", text: "{{" + tempname + "}}", contentmodel: "wikitext", prop: "text" }, success: function(resp) { temp[tempname] = resp.parse.text["*"]; $("#mw-license-preview").html(temp[tempname]); } }); } }); $("#mw-upload-form").submit(function(e) { if (licenseElem.val() == "") { if (versionDropdown && !versionDropdown.prop("disabled") && !versionDropdown.val()) { alert("라이선스 버전을 선택해주세요."); e.preventDefault(); } else if (ownCheckBox.is(":checked")) { alert("올바른 라이선스가 아닙니다."); e.preventDefault(); } else { licenseElem.val("퍼옴"); } } }); } $(function() { if (document.location.href.indexOf("&wpForReUpload=1") > -1) return; LicenseDropdown(); }); 사용자:Senior9324/common.js 문서로 돌아갑니다.