跳转到内容

MediaWiki:Gadget-internalLinkHelper.js

维基百科,自由的百科全书

这是本页的一个历史版本,由PhiLiP留言 | 贡献2010年2月15日 (一) 20:17编辑。这可能和当前版本存在着巨大的差异。

注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google ChromeFirefoxMicrosoft EdgeSafari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
/* [[Template:Internal link helper]] 辅助脚本 */
/*
==加载ToolTips== 
*/
 
importScript( "MediaWiki:Tooltips.js" );
 
var dynamicTooltip = {
  toggle : false,
 
  doTip : function (evt)
  {
    x = evt.pageX ||
        evt.clientX + ((document.documentElement ? document.documentElement.scrollLeft : 0)
                       || document.body.scrollLeft || 0);
    y = evt.pageY ||
        evt.clientY + ((document.documentElement ? document.documentElement.scrollTop : 0)
                       || document.body.scrollTop || 0);
    var tip = document.createElement ('div');
    var text = document.createTextNode ('Initial mouse coordinates: x = ' + x + ', y = ' + y);
    if (this.tt_toggle) {
      // Make the whole stuff a dummy link every second time.
      var lk = document.createElement ('a');
      lk.appendChild (text);
      lk.setAttribute ('href', '#');
      tip.appendChild (lk);
    } else {
      tip.appendChild (text);
    }
    this.tt_toggle = !this.tt_toggle;
    return tip;
  }
}
 
function setTooltips (){
    var close_imgs = new Array(3);
    close_imgs[0] = document.createElement('img');
    close_imgs[0].src = "/media/wikipedia/commons/f/f8/Tooltip-CloseButton.png";
    close_imgs[1] = document.createElement('img');
    close_imgs[1].src = "/media/wikipedia/commons/5/5a/Tooltip-CloseButton-Hover.png";
    close_imgs[2] = document.createElement('img');
    close_imgs[2].src = "/media/wikipedia/commons/d/df/Tooltip-CloseButton-Active.png";
    close_imgs[0].width = close_imgs[1].width = close_imgs[2].width = "16";
    function createTips(clsname,tipclsname,attrs,isChild){
        var tip_elements = getElementsByClassName( document,'*',clsname);
        var tip_tip_elements = getElementsByClassName( document,'*',tipclsname);
        for (var i = 0,e; e = tip_elements[i]; i++) {
            new Tooltip(isChild?e.firstChild:e,tip_tip_elements[i],attrs);
        }
    }
    createTips(
        'TipTrackButton',
        'TipTrackButton_tip',
        {mode : Tooltip.TRACK,close_button : close_imgs}
    );
    createTips(
        'TipMouseButton',
        'TipMouseButton_tip',
        { mode : Tooltip.MOUSE,close_button : close_imgs}
    );
    createTips(
        'TipClickButton',
        'TipClickButton_tip',
        {
            mode : Tooltip.MOUSE,
            close_button : close_imgs,
            activate: Tooltip.CLICK,
            deactivate : Tooltip.CLICK_ELEM
        },
        true
    );
    createTips(
        'TipTrack',
        'TipTrack_tip',
        { mode : Tooltip.TRACK }
    );
    createTips(
        'TipMouse'
        ,'TipMouse_tip',
        { mode : Tooltip.MOUSE }
    );
    createTips(
        'TipClick',
        'TipClick_tip',
        { 
            mode : Tooltip.MOUSE,
            activate: Tooltip.CLICK,
            deactivate : Tooltip.CLICK_ELEM
        },
        true
    );
}
 
hookEvent ('load', setTooltips);

addOnloadHook(function(){
    var items = getElementsByClassName(document, 'span', 'ILHItem');
    var bodycontent = document.getElementById('bodyContent');
    for(var i = 0, item; item = items[i]; i ++) {
        if(!hasClass(item, 'ILHExist')) {
            var chinese = getElementsByClassName(item, 'span', 'ILHChinese')[0];
            var original = getElementsByClassName(item, 'span', 'ILHOriginal')[0];
            var langname = getElementsByClassName(item, 'span', 'ILHLang')[0];
            var tip = document.createElement('div');
            bodycontent.appendChild(tip);
            chinese.className = 'TipClickButton';
            tip.className = 'TipClickButton_tip';
            tip.style.display = 'none';
            html = wgULS('中文维基百科未有', '中文維基百科未有') + chinese.innerHTML +
                   wgULS('页面,可参考', '頁面,可參考') + langname.innerHTML +
                   wgULS('维基百科的对应页面', '維基百科的對應頁面') + original.innerHTML + '。';
            innernode = document.createElement('span');
            innernode.style.fontSize = 'smaller';
            innernode.innerHTML = html;
            tip.appendChild(innernode);
        }
        comment = getElementsByClassName(item, 'span', 'ILHComment')[0];
        comment.parentNode.removeChild(comment);
    }
});