사용자:Bd3076/common.js: 두 판 사이의 차이
백괴게임>Bd3076 편집 요약 없음 |
백괴게임>Bd3076 편집 요약 없음 |
||
62번째 줄: | 62번째 줄: | ||
script_list.forEach(function(data){ | script_list.forEach(function(data){ | ||
var addingCode; | var addingCode; | ||
addingCode = '<div class="px-code">'; | addingCode = '<div class="px-code"><code>'; | ||
addingCode = addingCode.concat(data.script); | addingCode = addingCode.concat(data.script); | ||
addingCode = addingCode.concat('</div> <div class="px-codeinfo"> <ul> <li> 플러그인 이름: '); | addingCode = addingCode.concat('</code></div> <div class="px-codeinfo"> <ul> <li> 플러그인 이름: '); | ||
addingCode = addingCode.concat(data.name); | addingCode = addingCode.concat(data.name); | ||
addingCode = addingCode.concat('</li> <li> 플러그인 제작자: '); | addingCode = addingCode.concat('</li> <li> 플러그인 제작자: '); |
2018년 11월 8일 (목) 19:18 판
/**
-pluginX Core-
pluginX 시스템이 제대로 돌아가게 해 줍니다.
Bd3076
*/
function pluginXCore() {
var script_list = [];
var pluginExist = false;
var html_before;
var api = MediaWikiAPI();
/// 플러그인의 정보가 담긴 데이터를 만듭니다.
var generateScriptData = function(_url, _name, _creator, _doc, _script){
return {
url: _url,
name: _name,
creator: _creator,
doc: _doc,
script: _script,
};
};
/// 플러그인 목록을 만들어서 script_list[]에 담습니다.
var getPluginList = function(){
$(".c_pluginX").each(function() {
pluginExist = true;
var url = $(this).attr('data-url');
var name = $(this).attr('data-name');
var creator = $(this).attr('data-creator');
var doc = $(this).attr('data-doc');
var script = api.getDocument(doc);
console.log("Code: " + script);
script_list.push(generateScriptData(url, name, creator, doc, script));
});
};
/// 플러그인을 실행합니다.
var executePlugins = function(){
document.getElementById('mw-content-text').innerHTML = html_before;
script_list.forEach(function(data){
var link = data.url;
$.getScript(link);
});
};
/// 플러그인을 실행하지 않습니다.
var doNotExecutePlugins = function(){
document.getElementById('mw-content-text').innerHTML = html_before;
};
/// 알림 창을 만듭니다.
var showWindow = function(){
html_before = document.getElementById('mw-content-text').innerHTML;
$('#mw-content-text').html(api.readDocument("틀:PluginX/setup"));
var script = "";
script_list.forEach(function(data){
var addingCode;
addingCode = '<div class="px-code"><code>';
addingCode = addingCode.concat(data.script);
addingCode = addingCode.concat('</code></div> <div class="px-codeinfo"> <ul> <li> 플러그인 이름: ');
addingCode = addingCode.concat(data.name);
addingCode = addingCode.concat('</li> <li> 플러그인 제작자: ');
addingCode = addingCode.concat(data.creator);
addingCode = addingCode.concat('</li> </ul> </div');
console.log(addingCode);
script += addingCode;
});
document.getElementById('px-script').innerHTML = script;
$('#px-button').on('click', executePlugins);
$('#px-button2').on('click', doNotExecutePlugins);
};
getPluginList();
if(pluginExist === false) return;
showWindow();
}
$(pluginXCore());