משתמש:Mikimik/js/displayRemoteInfoInline.js

מתוך ויקיפדיה, האנציקלופדיה החופשית

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
function local_code_to_createRemoteInfoFrame()
{
  try {
    onloadFuncts = [];                                                  // remove all onload functions

    var urlname     = [ "wikipedia", "wikiquote", "wiktionary", "wikibooks", "wikisource", "wikinews", "commons", "species"    , "wikiversity", "meta", "mediawiki" ];
    var titlePrefix = [ "w"        , "q"        , "wikt"      , "b"        , "s"         , "n"       , "commons", "wikispecies", "wikiversity", "m"   , "mw"        ];

    var myLocalWiki = 0;                                             // which wiki is this ?
    for ( ; myLocalWiki < urlname.length ; myLocalWiki++ ) if ( wgServer.indexOf(urlname[myLocalWiki]) != -1 ) break;
    if ( myLocalWiki == urlname.length ) return;

//---
    var rx = new RegExp ( "^[ \n]*#(REDIRECT" + ( wgContentLanguage == "he" ? "|הפניה" : wgContentLanguage != "en" ? "|[^ \n\\[\\]{}|]+" : "" ) +
                          ")[ \n]*\\[\\[ *([^\\[\\]{}\n]+?) *]]", "i" );

    var pageredirect = wgArticleId && rx.test ( document.getElementById("wpTextbox1").value );
    var pagedeleted = document.getElementsByClassName("mw-logline-delete").length;

    var node = document.createElement("span");
    node.appendChild ( document.createTextNode(pagedeleted ? "X" : pageredirect ? "R" : "#") );
    node.title = titlePrefix[myLocalWiki] + ":" + wgPageName.replace(/_/g," ") + ( pageredirect ? " --> " + document.getElementById("wpTextbox1").value.replace(rx,"$2") : "" );
    node.style.cssText = "font-size:120%; color:" + ( wgArticleId ? "green" : "red" ) + "; position:fixed; top:0px; left:0px;";

    while ( document.body.firstChild ) document.body.removeChild ( document.body.firstChild );        // remove everything on the page
    document.body.appendChild ( node );
    document.body.style.background = "white";
  }
  catch ( e )
  {
      return;
  }
}

if ( getParamValue("createRemoteInfoFrame") )
{
    onloadFuncts = [];                                      // remove all onload functions
    addOnloadHook ( local_code_to_createRemoteInfoFrame );
}


function createRemotePagesInfoFrames ( div, extrarx, direction )
{
  try {
    var basicrx = new RegExp ( "^(?!" + wgServer.replace(/([./])/g,"\\$1") + ")http:\\/\\/(?!zh[.-])[a-z-]+\\.wik[a-z]+\\.org\\/wiki\\/(?!(%D7%9E%D7%99%D7%95%D7%97%D7%93:|special:|%D7%A2%D7%9E%D7%95%D7%93_%D7%A8%D7%90%D7%A9%D7%99$)).", "i" );
    if ( !extrarx ) extrarx = /^/;

    var linkNodes = div.getElementsByTagName("a");
    for ( var i = 0 ; i < linkNodes.length ; i++ )
        if ( basicrx.test(linkNodes[i].href) && extrarx.test(linkNodes[i].href) )
        {
            var frame = document.createElement("iframe");
            frame.src = linkNodes[i].href.replace(/\/wiki\/.*/,"") + wgScript + "?title=" + linkNodes[i].href.replace(/^.*?\/wiki\//,"").replace(/#.*$/,"") +
                        "&action=edit&section=0&createRemoteInfoFrame=yes";
            frame.width = "8px";
            frame.height = "12px";
            frame.style.cssText = "border:none;";

            if ( direction && /[a-z]/i.test(linkNodes[i].firstChild.nodeValue) ) linkNodes[i].insertBefore ( frame, linkNodes[i].firstChild );
             else linkNodes[i].appendChild ( frame );
        }
  }
  catch ( e )
  {
      return;
  }
}