维基百科:维基百科工具/编辑工具/弹出表格按钮
外观
< Wikipedia:維基百科工具 | 編輯工具
注:目前代码失效。
本说明如何将表格按钮的变成一个弹出功能的工具,可以方便控制表格的行列数。目前在IE浏览器中存在问题,可能会在以后进行改进。
在monobook的外观设定下(也就是预设值), 您可以通过增加javascript语法──也就是你的用户子页面User:您的用户名/monobook.js 中加javascript代码──来加载本功能。
假设你选择的编辑模式为"YourMode",则把以下代码放置在Wikipedia:维基百科工具/编辑工具/YourMode.js页面中的合适位置。
addEditButton('btnTable',{
src : "0/04/Button_array.png",
tagOpen : '',
sampleText : '',
tagClose : '',
speedTip : "插入表格(弹出提示)",
action : popupTable
});
/**
*
* English: Generate an array using Mediawiki syntax
*
* @author: fr:user:dake
* @version: 0.1
*/
function generateTableau(nbCol, nbRow, border, styleHeader, styleLine)
{
var code = "\n";
if (styleHeader==1) {
code += '{\| border="0" cellpadding="3px" style="border: 1px solid #999; background-color:#ffffff;"\n|-align="center" style="background-color: #cccccc;"\n';
} else {
code += '{| border="' + border + '"\n';
code += '|+ 表格标题\n';
}
for (var i=0;i<nbCol;i++) code += '! 表头 ' + i + '\n'
for (var j=0;j<nbRow;j++) {
if ((j+1)%2==0 && styleLine==1) {
code += '|-{\{bgcolor="#EFEFEF"}\}\n'
} else {
code += '|-----\n'
}
for (var i=0;i<nbCol;i++){
code += '| 内容\n';
}
}
code += '|}';
insertTags('','', code);
}
/**
*
* English: Open a popup with parameters to generate an array.
* The number of rows/columns can be modified. Some additional
* parameters are related to templates available on :fr
*
* @author: fr:user:dake
* @version: 0.1
*
*/
//增加彈出表格按鈕
function popupTable(){
var popup = window.open('','name','height=400,width=500');
javaCode = '<script type="text\/javascript">function insertCode(){';
javaCode += 'var row = parseInt(document.paramForm.inputRow.value); '
javaCode += 'var col = parseInt(document.paramForm.inputCol.value); '
javaCode += 'var bord = parseInt(document.paramForm.inputBorder.value); '
javaCode += 'var styleHeader = document.paramForm.inputHeader.checked; '
javaCode += 'var styleLine = document.paramForm.inputLine.checked; '
javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine); '
javaCode += '}<\/script>';
popup.document.write('<html><head><title>表格参数</title>');
popup.document.write('<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>');
popup.document.write('<style type="text\/css" media="screen,projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; /*]]>*/<\/style>');
popup.document.write(javaCode);
popup.document.write('</head><body>');
popup.document.write('<p>请输入想要生成表格的参数:</p>');
popup.document.write('<form name="paramForm">');
popup.document.write('行数:<input type="text" name="inputRow" value="3" ><p>');
popup.document.write('列数:<input type="text" name="inputCol" value="3" ><p>');
popup.document.write('边框宽度:<input type="text" name="inputBorder" value="1" ><p>');
popup.document.write('灰色表头:<input type="checkbox" name="inputHeader" checked="1" ><p>');
popup.document.write('灰色斑马表:<input type="checkbox" name="inputLine" checked="1" ><p>');
popup.document.write('</form">');
popup.document.write('<p><a href="javascript:insertCode()"> 将代码插入到编辑窗口中</a></p>');
popup.document.write('<p><a href="javascript:self.close()"> 关闭</a></p>');
popup.document.write('</body></html>');
popup.document.close();
return false;
}
/*
*/