please help with javascript function

Discussion in 'JavaScript' started by Arclite, Feb 28, 2014.

  1. #1
    Im using this script for greasemonkey but its not working could somebody please help me


    // ==UserScript==
    // @name        tweepi
    // @namespace   tweepi
    // @description tweepi
    // @include     http://tweepi.com/tools/follow_by_followers#0
    // @version     1
    // @grant       none
    // ==/UserScript==
    
    var input=document.createElement("input");
    input.type="button";
    input.value="GreaseMonkey Button";
    input.onclick = showAlert;
    document.body.appendChild(input);
    
    function showAlert()
    {
       javascript:(function(){var%20a=function(b,c,d){return%20a=document.getElementsByClassName?function(a,b,c){c=c||document;for(var%20g,d=c.getElementsByClassName(a),e=b?new%20RegExp('\\b'+b+'\\b','i'):null,f=[],h=0,i=d.length;i>h;h+=1)g=d[h],(!e||e.test(g.nodeName))&&f.push(g);return%20f}:document.evaluate?function(a,b,c){b=b||'*',c=c||document;for(var%20i,j,d=a.split('%20'),e='',f='http://www.w3.org/1999/xhtml',g=document.documentElement.namespaceURI===f?f:null,h=[],k=0,l=d.length;l>k;k+=1)e+='[contains(concat(\'%20\',%20@class,%20\'%20\'),%20\'%20'+d[k]+'%20\')]';try{i=document.evaluate('.//'+b+e,c,g,0,null)}catch(m){i=document.evaluate('.//'+b+e,c,null,0,null)}for(;j=i.iterateNext();)h.push(j);return%20h}:function(a,b,c){b=b||'*',c=c||document;for(var%20g,i,d=a.split('%20'),e=[],f='*'===b&&c.all?c.all:c.getElementsByTagName(b),h=[],j=0,k=d.length;k>j;j+=1)e.push(new%20RegExp('(^|\\s)'+d[j]+'(\\s|$)'));for(var%20l=0,m=f.length;m>l;l+=1){g=f[l],i=!1;for(var%20n=0,o=e.length;o>n&&(i=e[n].test(g.className),i);n+=1);i&&h.push(g)}return%20h},a(b,c,d)},b=function(a,b){if(-1==a.className.indexOf('x-grid3-row-selected')){var%20c=document.createEvent('MouseEvents');c.initMouseEvent('mousedown',!0,!0,window,0,0,0,0,0,b,b,b,b,0,null),a.dispatchEvent(c);var%20d=document.createEvent('MouseEvents');d.initMouseEvent('click',!0,!0,window,0,0,0,0,0,b,b,b,b,0,null),a.dispatchEvent(d)}};try{if(-1==window.location.href.indexOf('tweepi.com'))throw'';var%20c=document.createElement('script');c.textContent='window.fua();',(document.head||document.documentElement).appendChild(c),c.parentNode.removeChild(c);var%20d=a('x-grid3-rows','div',document.getElementById('tweepiGridDiv'));if(d.length<=0)return;b(d[0],!1),b(d[d.length-1],!0)}catch(e){alert('Something%20went%20wrong.%20Please%20make%20sure%20you%20are%20on%20a%20Tweepi.com%20page!%20'+e)}})();
    }
    Code (markup):

     
    Arclite, Feb 28, 2014 IP
  2. deathshadow

    deathshadow Acclaimed Member

    Messages:
    9,732
    Likes Received:
    1,999
    Best Answers:
    253
    Trophy Points:
    515
    #2
    you have to declare the function BEFORE you try assigning it as a handler. Move the function BEFORE you do the 'var input=' so it actually EXISTS to be assigned to onclick!

    ... and you're already IN javascript, what is that 'javascript' command even in there for, much less the escaped whitespacestripped nonsense inside it? Much less the gibberish inside that compressed mess like:

    document.getElementsByClassName?function(a,b,c)

    So even if you got the call to that function working, what's inside it is broken gibberish that would never work...
     
    Last edited: Mar 3, 2014
    deathshadow, Mar 3, 2014 IP