위키낱말사전:JavaScript & CSS/InterProject

위키낱말사전, 말과 글의 누리

InterProject

  • MediaWiki:Common.js
  • 위키프로젝트(백과, 책, 공용)으로 링크시키기
  • 아래의 영어 위키낱말사전의 스크립트는 완벽하지 않은 것으로 보인다.
function Projectlinks() {
  var elements = new Array();
  var spans = document.getElementsByTagName('span');
  // filter for projectlinks
  for (var i=0, j=0; i<spans.length; i++) {
   if (spans[i].className == 'interProject') {
    elements[j] = spans[i].getElementsByTagName('a')[0];
     j++;
    }
   }
 // sort alphabetically
 function sortbylabel(a,b) {
  // get labels
  a = a.innerHTML.replace(/^.*<a[^>]*>(.*)<\/a>.*$/i,'$1');
  b = b.innerHTML.replace(/^.*<a[^>]*>(.*)<\/a>.*$/i,'$1');
  // return sort order
  if (a < b) return -1;
  if (a > b) return 1;
   return 0;
  }
  elements.sort(sortbylabel);
  // create navbox
  var sidebar_style = "background-color: #FFFFFC; color: #000000; font-size: 10pt;";
  var links_description = "위키백과에 수록된 낱말";
  if (j) {
    var plheader = document.createElement('h5');
        plheader.appendChild(document.createTextNode('위키 프로젝트'));
    var plbox = document.createElement('div');
        plbox.setAttribute('class','pBody');
        plbox.setAttribute("title", links_description);
   var pllist = document.createElement('ul');
   for (var i=0; i<elements.length; i++) {
    var plitem = document.createElement('li');
        plitem.appendChild(elements[i]);
        pllist.appendChild(plitem);
    }
    plbox.appendChild(plheader);
    plbox.appendChild(pllist);
    plbox.setAttribute("style", sidebar_style);
    document.getElementById("p-tb").appendChild(plbox);
   }
  }
 addOnloadHook(Projectlinks);
  • 아래의 스크립트는 독일어 낱말사전 (참조: Bug 708)
 function $(ID) { return document.getElementById(ID); }
 document.write('<style type="text/css">#interProject, #sisterProjects {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}<\/style>');
 function iProject() {
  if ($("interProject")) {
   var iProject = $("interProject").innerHTML;
   var interProject = document.createElement("div");
   var interProjectstyle = "margin-top: .1em; background-color:#006398;; font-size:10pt;";
   var interProjectdescription = "위키프로젝트의 낱말로 인터 링크 시키기"
   interProject.setAttribute("style", interProjectstyle)
   interProject.setAttribute("title", interProjectdescription)
   interProject.innerHTML = '<h5>위키 프로젝트<a href="/wiki/위키낱말사전:위키 프로젝트"><\/a><\/h5><div class="pBody" style = "background-color:#EEF9FF; font-size:10pt;">'+iProject+'<\/div>';
   $("p-tb").appendChild(interProject);
  }
 }
 addOnloadHook(iProject);
  • 문제점: 등록 사용자와 비등록 사용자에 따라 링크가 화면에 보이기도 하고 안 보이기도 한다. 이 경우에는 캐시에 문제가 있기 때문이며 대개 몇일 뒤에 이 문제가 사라진다.
  • 태그 <a href="/wiki/위키낱말사전:위키 프로젝트"></a>는 portlet 색깔 때문에 달리 조정.
보기: 한국어, Korean --아흔(A-heun) 2008년 4월 19일 (토) 09:58 (UTC)