문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 여기에는 다른 사용자의 개인 설정이 포함되어 있기 때문에 이 자바스크립트 문서를 편집할 수 없습니다. 문서의 원본을 보거나 복사할 수 있습니다. importScript("사용자:다메즈마/bookmark.js"); importScript("사용자:다메즈마/watchlist.js"); $(document).on("click", "a", function(e){ console.log(this); if(!this.host == "librewiki.net")return; e.preventDefault(); }); function randomRange(n1, n2) { return Math.round( Math.random() * 10000) % (n2 - n1) + n1; } var damezuma_hisyokan = null; function Mascot2() { this.is_loaded = false; this.is_show = false; this.mascot_img_list = []; this.message_queue = []; this.now_balloon = null; this.is_small = false; this.imgSrc = ""; this.comments = []; } Mascot2.prototype.CloseMessage = function() { $(this.now_balloon).fadeOut(1000).delay(1000,function(){$(this).remove();}); this.now_balloon = null; if(this.message_queue.length != 0) { this._show_balloon(); } }; Mascot2.prototype.ShowMessageNow = function(msg) { this.message_queue.unshift(msg); if(this.is_show == false) { this.Show(); } else{ this.CloseMessage(); } if(this.now_balloon == null && this.is_loaded == true) { this._show_balloon(); } }; Mascot2.prototype._show_balloon = function() { this.now_balloon = document.createElement("div"); $(this.now_balloon).css("position","fixed"); $(this.now_balloon).css("display","none"); $(this.now_balloon).html(this.message_queue[0]); $(this.now_balloon).css("background-color","#000"); $(this.now_balloon).css("color","#FFF"); $(this.now_balloon).css("max-width","225px"); $(this.now_balloon).css("padding","16px"); $(document.body).append(this.now_balloon); $(this.now_balloon).css("bottom",$(this.mascot_img_html).height()/2 +16 - $(this.now_balloon).height()/2 + 32); $(this.now_balloon).css("right",$(this.mascot_img_html).width() + 32); $(this.now_balloon).css("border-radius",5); $(this.now_balloon).fadeIn(1000); this.message_queue.shift(); this.now_balloon.obj = this; $(this.now_balloon).click ( function() { var obj = this.obj; $(obj.now_balloon).fadeOut(1000).delay(1000,function(){$(this).remove();}); obj.now_balloon = null; if(obj.message_queue.length != 0) { obj._show_balloon(); } } ); }; Mascot2.prototype.ShowMessage = function(msg) { this.message_queue.push(msg); if(this.is_show == false) { this.Show(); } if(this.now_balloon == null && this.is_loaded == true) { this._show_balloon(); } }; Mascot2.prototype.ToSmall = function() { $(this.mascot_img_html).css("width",96); if(this.now_balloon != null) { $(this.now_balloon).css("bottom",$(this.mascot_img_html).height()/2 +16 - $(this.now_balloon).height()/2 + 32); $(this.now_balloon).css("right",$(this.mascot_img_html).width() + 32); } $("#to-top-btn").css("width",$(this.mascot_img_html).width()/2); $("#hisyokan-bookmark").css("width",$(this.mascot_img_html).width()/2); this.is_small = true; localStorage.setItem("custom_dmns_is_small",true); }; Mascot2.prototype.ToBig = function() { $(this.mascot_img_html).css("width",256); if(this.now_balloon != null) { $(this.now_balloon).css("bottom",$(this.mascot_img_html).height()/2 +16 - $(this.now_balloon).height()/2 + 32); $(this.now_balloon).css("right",$(this.mascot_img_html).width() + 32); } $("#to-top-btn").css("width",$(this.mascot_img_html).width()/2); $("#hisyokan-bookmark").css("width",$(this.mascot_img_html).width()/2); this.is_small = false; localStorage.setItem("custom_dmns_is_small",false); } Mascot2.prototype.Show = function() { if(this.is_show) return; this.is_show = true; var select = this.imgSrc; var wrap_div = document.createElement("div"); this.mascot_img_html = document.createElement("img"); this.mascot_img_html.obj = this; if(localStorage.getItem("custom_dmns_is_small") == "true") { this.ToSmall(); } else { this.ToBig(); } this.mascot_img_html.onload = function() { var obj = this.obj; if(localStorage.getItem("custom_dmns_is_small") == "true") { obj.ToSmall(); } else { obj.ToBig(); } if(obj.message_queue.length != 0) { obj._show_balloon(); } $(".top_s_btn").css("display","none"); $("#to-top-btn").css("width",$(this).width()/2); $("#hisyokan-bookmark").css("width",$(this).width()/2); obj.is_loaded = true; }; $(this.mascot_img_html).click( function() { if(this.obj.is_small == false) { this.obj.ToSmall(); } else { this.obj.ToBig(); } }); this.mascot_img_html.src = select.replace("bbs.",""); $(this.mascot_img_html).css("display","block"); $(wrap_div).css("position","fixed"); $(wrap_div).css("right","16px"); $(wrap_div).css("bottom","16px"); $(wrap_div).append(this.mascot_img_html); $(wrap_div).append("<ul style='list-style:none;padding: 0px;margin:0px;display:inline;'><li style='float:left;'><a id='to-top-btn' href='#' style='text-align:center;display:inline-block;line-height:32px;width:100%;background-color:#000;color:#FFF;font-weight:bold;'>위로</a></li><li style='float:left;'> <a id='hisyokan-bookmark' href='#' style='text-align:center;display:inline-block;line-height:32px;width:100%;background-color:#000;color:#FFF;font-weight:bold;'>메뉴</a></li></ul>"); $(document.body).append(wrap_div); document.getElementById("hisyokan-bookmark").obj = this; $("#hisyokan-bookmark").click( function() { var menu_list_h = document.createElement("ul"); $(menu_list_h).css("list-style","none"); $(menu_list_h).css("margin",0); $(menu_list_h).css("padding",0); var li = document.createElement("li"); var a_tag = document.createElement("a"); a_tag.href = "#"; a_tag.obj = this.obj; $(a_tag).css("display","inline-block"); $(a_tag).css("line-height","16px"); $(a_tag).css("padding","2px"); $(a_tag).css("color","#FFF"); $(a_tag).html("이 페이지 등록"); $(a_tag).click( function() { var link = document.location.href; var name = document.title; name = name.replace(" - 리브레 위키",""); var bookmark = new BookmarkStorage(); bookmark.AddBookmark(name,link); this.obj.CloseMessage(); this.obj.ShowMessage("등록되었습니다"); return false; } ); $(li).html(a_tag); $(menu_list_h).append(li); li = document.createElement("li"); a_tag = document.createElement("a"); a_tag.href = "#"; a_tag.obj = this.obj; $(a_tag).css("display","inline-block"); $(a_tag).css("line-height","16px"); $(a_tag).css("padding","2px"); $(a_tag).css("color","#FFF"); $(a_tag).html("북마크 리스트"); $(a_tag).click(function(){ var bookmark = new BookmarkStorage(); this.obj.ShowMessageNow(GetHtmlList(bookmark.GetList())); return false; }); $(li).html(a_tag); $(menu_list_h).append(li); li = document.createElement("li"); a_tag = document.createElement("a"); a_tag.href = "#"; a_tag.obj = this.obj; $(a_tag).css("display","inline-block"); $(a_tag).css("line-height","16px"); $(a_tag).css("padding","2px"); $(a_tag).css("color","#FFF"); $(a_tag).html("쌓인 메시지 지우기"); $(a_tag).click(function(){ this.obj.message_queue = []; return false; }); $(li).html(a_tag); $(menu_list_h).append(li); this.obj.ShowMessageNow(menu_list_h); return false; } ); var ttttt = this.comments["대사"].split("\n"); this.ShowMessage(ttttt[randomRange(0,ttttt.length - 1)]) }; var user_name = mw.config.get("wgUserName"); param = null; if(location.host.startsWith("bbs")) { param = { data:{ action:"parse", format:"json", prop:"text|modules", page:"사용자:"+user_name+"/비서함", pst:"", origin: window.location.origin }, method:"POST", dataType:"json", crossDomain: true, 'xhrFields': { 'withCredentials': true } }; } else { param = { data:{ action:"parse", format:"json", prop:"text|modules", page:"사용자:"+user_name+"/비서함", pst:"" }, method:"POST", dataType:"json" }; } $.ajax("//librewiki.net/api.php",param).done(function(res){ ggg = {}; var temp = document.createElement("div"); temp.innerHTML = res.parse.text["*"]; var pres = temp.getElementsByTagName("pre"); var img = temp.getElementsByTagName("img"); for(var key in Object.keys(pres)){ pres[key].id =decodeURI(pres[key].id.replace(/\./gi,"%").replace(/_/gi," ")) ; ggg[pres[key].id] = $(pres[key]).text(); } damezuma_hisyokan = new Mascot2(); damezuma_hisyokan.imgSrc = img[0].src; damezuma_hisyokan.comments = ggg; damezuma_hisyokan.Show(); }); 사용자:다메즈마/common.js 문서로 돌아갑니다.