注意:在您儲存之後您必須清除瀏覽器快取才可看到最新的變動。
?_=1
來訪問最新頁面。
$(document).ready(function() { if (typeof charPresets === "undefined") { charPresets = [ { name: "模板", start: "{{|", end: "}}" }, { name: "標籤", start: "<>", end: "</>" }, { name: "註釋", start: "<!--", end: "-->"}, { name: "引號", start: "「", end: "」"} ]; } var presetIdx = 0; function insertTemplate(e) { e.preventDefault(); mw.toolbar.insertTags(charPresets[presetIdx].start, charPresets[presetIdx].end, ''); } function openDialog(e) { e.preventDefault(); if ($('#template-dialog').length) { return; } const dialog = $('<div id="template-dialog"/>') .append( $('<label>', { for: 'preset-field', text: '預設:' }), $('<select>', { id: 'preset-field' }) .append(charPresets.map((preset, index) => $('<option>', { value: index, text: preset.name, selected: index === presetIdx }) )), $('<br>'), $('<label>', { for: 'start-field', text: '光標前:' }), $('<input>', { id: 'start-field', type: 'text', value: charPresets[presetIdx].start }), $('<br>'), $('<label>', { for: 'end-field', text: '光標後:' }), $('<input>', { id: 'end-field', type: 'text', value: charPresets[presetIdx].end }), $('<br>'), $('<button>', { id: 'save-template', text: '保存' }) ) .appendTo($(document.body)) .css({ position: 'fixed', top: '50%', left: '50%', zIndex: '200', margin: 0, padding: '1em', border: '1px solid #ccc', boxShadow: '0 4px 8px rgba(0, 0, 0, 0.1)', transform: 'translate(-50%, -50%)', background: '#fff', borderRadius: '4px' }); $('#preset-field').on('change', function () { presetIdx = $(this).val(); $('#start-field').val(charPresets[presetIdx].start); $('#end-field').val(charPresets[presetIdx].end); }); $('#save-template').on('click', function () { charPresets[presetIdx].start = $('#start-field').val(); charPresets[presetIdx].end = $('#end-field').val(); dialog.remove(); }); } $("#wikiEditor-section-advanced > div.group.group-insert").append( $("<a/>") .text("插入模板") .addClass("label") .css({ "cursor": "pointer", "float": "right", "margin-left": "5px", "margin-right": "5px", }) .on("click", insertTemplate), $("<a/>") .text("設置模板") .addClass("label") .css({ "cursor": "pointer", "float": "right", "margin-left": "8px", "margin-right": "5px", }) .on("click", openDialog) ); });