FONForum
http://www.fonforum.org/

Javascript pomoć
http://www.fonforum.org/viewtopic.php?f=8&t=19955
Stranica 1 od 1

Autoru:  RazbojNick [ 04.07.2013. 19:36:19 ]
Tema posta:  Javascript pomoć

Nemam tri veze sa JS, ali mislim da mogu dovoljno da shvatim zarad prerade već gotove skripte.

Svrha skripte je da totalno izbaci iz konkretnog vBulletin 4.x foruma poruke zadatih korisnika. Želim da skripta radi nativno u što više internet pregledača, tj. po mogućstvu bez Grease/Violent/Tampermonkey i sl. specifičnih dodataka sa svojim funkcijama.

Koristim Operu 12.15, a probano je i sa FF 22 i Greasemonkey 1.9 i stvaraju se sledeći problemi:

1) Skripta pravilno eliminiše samo prvu neželjenu poruku na učitanoj strani, a sve naredne ignoriše i
2) Ukloni sve citirane poruke na strani bez obzira od koga su, umesto samo od predefinisanih korisnika,

Kod skripte je u spojleru, pa ako neko može da kaže zašto scumbaguje:
Spoiler: show
Kod:
// ==UserScript==
 // @name Remover
 // @description Totally remove Ignored Users Posts
 // @include *showthread.php?* //OVDE IDE PUN URL
 // ==/UserScript==

 (function()
  {
     var allT;
     var allR;
     var plonk = new Array();
     var ignore_threads_from = ["troll1", "troll2"]; //JUZERNEJMOVI KOJE TREBA IGNORISATI
    
     for (var i = 0; i < ignore_threads_from.length; i++)
     {
        plonk[ignore_threads_from[i]] = ignore_threads_from[i];
     }


 allT = document.getElementsByTagName('table');
 for (var i = 0; i < allT.length; i++)
    {
       if(allT[i].innerHTML.match(/This message is hidden because <strong>(\w+)<\/strong> is on your <a href="" target="_blank">ignore list<\/a>./))
         {
             allT[i].style.display="none";
             //Add ignored user to list of ignored users
             plonk[RegExp.$1] = RegExp.$1;
          }
    }
    //else return;

 // Remove posts that quote a user on the ignore list
 for (var i = 0; i < allT.length; i++)
 {
    for (var x in plonk)
    {
       if(allT[i].innerHTML.match("Originally Posted by <strong>"+plonk[x]+"</strong>"))
       {
          allT[i].style.display="none";
       }
       if(allT[i].innerHTML.match("This message is hidden because <strong>"+plonk[x]+"</strong> is on your <a href=\"\" target=\"_blank\">ignore list</a>./"))
       {
          allT[i].style.display="none";
       }      
       //if(allT[i].innerHTML.match("<a.*>"+plonk[x]+"</a>[^]*?<img.*alt=\""+plonk[x]))
       //{
         // allT[i].style.display="none";
       //}
    }
 }
//U OVOM BLOKU TREBA DA SE DEŠAVA ELIMINACIJA, ALI RADI POGREŠNO
//OBZIROM DA SKRIPTA RADI PRVI PUT, CENIM DA JE PROBLEM SA PETLJOM
     allR = document.getElementsByClassName('postbitignored postbitim'); //IGNORISANI KORISNICI
     allP = document.getElementsByClassName('bbcode_quote'); //CITIRANI KORISNICI
     // Remove posts started by a user on the ignore list
     for (var i = 0; i < allR.length; i++)
     {
        for (var x in plonk)
        {
           if(allR[i].innerHTML.match(plonk[x]))
           {
              allR[i].style.display="none";
              allP[i].style.display="none";
           }
        }
     }
    

 })();


P.S. za domare foruma: aman, promenite font za CODE tag

Autoru:  RazbojNick [ 06.07.2013. 11:03:54 ]
Tema posta:  Re: Javascript pomoć

Hej, alo, polako, nemojte svi odjednom...

Autoru:  RazbojNick [ 10.07.2013. 14:27:14 ]
Tema posta:  Re: Javascript pomoć

Rešio sam.

Autoru:  Aamir [ 13.12.2014. 10:55:43 ]
Tema posta:  Re: Javascript pomoć

To je vrlo lijepo post hvala puno ... !!!

Stranica 1 od 1 Sva vremena su u UTC + 1 sat
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/