开发者

Follow Ajaxify Link with Javascript

开发者 https://www.devze.com 2023-04-02 02:42 出处:网络
I\'m attempting to create a greasemonkey script that will automatically poke (well, repoke) people on facebook. However, it is only the specific people I designate. This is easy to do as I can display

I'm attempting to create a greasemonkey script that will automatically poke (well, repoke) people on facebook. However, it is only the specific people I designate. This is easy to do as I can display the HTML that displays the poke using their specific uid using this:

document.getElementById("poke_uidhere").innerHTML;

This yields the code/link/ajax to repoke them:

<div class="lfloat fsm fwn fcg"><a href="https://www.facebook.com/profile.php?id=uidhere">FRIEND NAME</a> · <a ajaxify="/ajax/poke_dialog.php?uid=uidhere&amp;pokeback=1" rel="dialog-post">Poke Back</a></div><a class="rfloat uiCloseButton uiCloseButtonSmall" ajaxify="/ajax/poke_hide.php?p=uidhere" href="#" rel="async-post" title="Remove"></a>

Note that I again replaced the uid to maintain anonymity(or however that's spelled).

So I can see that when I poke them back I am following

<a ajaxify="/ajax/poke_dialog.php?uid=uidhere&amp;pokeback=1" rel="dialog-post">Poke Back</a>

However, when I used this code:

previousInnerHtml = document.getElementById("poke_uidhere").innerHTML;
previousInnerHtml = previousInnerHtml.replace('rel="dialog-post"', 'rel="dialog-post" id="loganspoker"');
document.getElementById("poke_uidhere").innerHtml = previousInnerHtml;
document.getElementById("loganspoker").click();

It does not click at all. It actually stalls here because I added an alert() after it and the alert never came up.

I gave up this method and began to simply try to use:

ourUrl = "/ajax/poke_dialog.php?uid=uidhere&amp;pokeback=1"
function httpGet(theUrl)
    {
    var xmlHttp = null;

    xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "POST", theUrl, false );
    xmlHttp.send( null );
    return xmlHttp.responseText;
    }
httpGet(ourUrl);

This didn't work either.

I think the problem with the first idea may be that the HTML somehow resets because when I review the source after the script's completion, the ID tag I added is no longer there. (so the click doesn't work? :/)

I was just guessing with the second method so idk why that didn't wor开发者_如何转开发k. For the record I tried both GET and POST methods.

I am looking for any and all solutions to this.

The only other bit of information I can think of is that this is from the homepage (http://facebook.com) and I think its a different code on different page.


Try something like this:

var src = document.getElementById("poke_uidhere").getElementsByTagName('a')[1].src,
    iframe = document.createElement('iframe');

iframe.src = src;
iframe.style.display = 'none';
document.appendChild(iframe);

You can add a load event to remove it when done, but I don't think you need to

0

精彩评论

暂无评论...
验证码 换一张
取 消