I thought I had this nailed, but it isn't working properly...
The code below correctly launches a popup and correctly adds all the info I want it to, but when I click share, it only passes a link to my site, not the custom title or image...
<a class="facebook" target="_blank" onclick="return !window.open(this.href, 'Facebook', 'width=640,height=300')" href="http://www.facebook.com/sharer.php?s=100&p[title]=MY_TITLE&p[summary]=MY_SUMMARY&p[url]=MY_URL&p[images[0]=http://mydomain.com/image.jpg<img src="http://mydomain.com/new/images/facebook.png" width="32">
As I mentioned, I thought it worked OK as it displayed all the info correctly in the popup, but when shared on my page, it stripped everything out and only displayed a URL.
I have also tried adding the og:title, etc... in the section, but to no avail.
Can anyone tell me why it doesn;t pass the cirrect info despite it appearing in the Facebook popup correctly?
Thanks!
Related
I am stuck with this one...
I have a website that plays music. The page updates automatically to display the current song being played and the image of the artist. The website also allows visitors to request songs. What I want to do is allow users to then share their request on Facebook, so I have added the code below.
Initially, when you pressed the Facebook button, it would pop up iwth a box which contained all the correct info (song, artist, image, etc), but would not post correctly to Facebook (the dynamic info such as title and image would be missing). Now, recently, it doesn't even populate the pop up correctly.
I'm stuck and cannot figure out how to get this to work correctly, can anyone help me?
Thanks.
<a class="facebook" target="_blank" onclick="return !window.open(this.href, 'Facebook', 'width=640,height=300')" href="http://www.facebook.com/sharer.php?s=100&p[title]=I'm listening to <?php echo $currentSong->title . ' by ' . $currentSong->artist; ?>&p[summary]=Join me and listen right now or request your own song&p[url]=http://www.mydomain.com&p[images[0]=<?php echo $largeimg; ?>"><img src="http://www.mydomain.com/new/images/facebook.png" width="32" height="32" border="0" style="padding-top:5px; padding-right:4px "></a>
Actually, you should only add the URL as parameter (url encoded) to the sharer.php:
<img ... />
It automatically takes the Open Graph data from the shared URL, see this page: http://ogp.me/
I assume all the other parameters are deprecated, at least it did not work for me some months ago. The only thing you could try is to encode all data with the PHP function "urlencode" - but i would suggest using the correct way and implement Open Graph correctly. That way you can even just take the URL, put it on Facebook manually and it will take the correct data.
If the content is completely dynamic, you should consider using Open Graph Actions: https://developers.facebook.com/docs/opengraph/
Or if that is too complicated, use the FB.ui feed dialog:
https://developers.facebook.com/docs/reference/dialogs/feed/
...but don´t forget to include the JavaScript SDK:
https://developers.facebook.com/docs/javascript/quickstart
I am using facebook button tag (http://developers.facebook.com/docs/reference/plugins/like/) and used this tag
<fb:like href="http://developers.facebook.com/docs/reference/plugins/like/" send="false" show_faces="false" ></fb:like>
But it is showing me more than I asked for. It works fine in firefox but it shows some extra information on safari. How can I get rid of that signup link?
AS Scott indicated I think this is working as designed. When in Firefox you are likely signed into facebook - hence the like button displays as you want it to display. But when you are in Safari you are NOT logged in (there's no facebook cookie - probably because you use FF as your default browser). So you get the info and the signup button.
As for the "extra" information you should experiment with
type="box_count"
and or
type="button_count"
The default is "standard" - so perhaps one of the other types will be more suited to your layout.
if you aren't connected to Facebook, you will always see the Sign Up button, if you don't Want show the Sign Up link, you can use a div container with Overflow:hidden property
<div class="containerLike">
<fb:like href="http://developers.facebook.com/docs/reference/plugins/like/" send="false" show_faces="false" ></fb:like>
</div>
and in css:
.containerLike {overflow:hidden;
width: Your selected width;}
I am using the iframe method to get the Facebook Like Box on my website.
The website is: http://motorcyclealley.co.nz (the Like Box should be showing down the bottom to the right of the YouTube video)
However, it is always blank.
Browsing to the iframe url in my browser: http://www.facebook.com/plugins/likebox.php?href=http://www.facebook.com/MotorcycleAlley&width=320&height=315&show_faces=false&colorscheme=light&stream=true&border_color&header=false&appId=397375460320824
Also produces a blank screen. The url was generated with the official generator. I am unable to figure out what is wrong because STRANGELY it works in the browser I originally did it on (Firefox 18.0.2 on Linux).
I have tried it on Chrome, Internet Explorer and Firefox/Windows and made sure that all adblocking extensions are disabled. I still get the blank screen.
Can anyone tell me whats going on?
EDIT: I should also mention that I have tried the HTML5 and FBML methods with the same result, they both worked on that ONE browser but not on any others
Ok, I just found out why. The Like Box doesnt show unless you're logged into Facebook in that browser (because it is set to have an age restriction). Apparently the following fixes it: https://stackoverflow.com/a/9310091/335227
I had the same problem.
I followed FB's instruction to add a FB like box in my web page:
<div class="fb-like"
data-href="https://www.your-domain.com/your-page.html"
data-width=""
data-layout="standard"
data-action="like"
data-size="small"
data-share="true">
</div>
But the block doesn't show like and share buttons, only white blank.
After some investigation I found it to be a bug of standard layout, if I set data-layout attribute to box_count, button_count or button, it works well.
My research
I'm attempting to add a FB "Like Box" to a website I'm developing. Not too familiar with Facebook apps, but so far I've gone the non-IFRAME route, using the FB SDK script include.
I'm fairly certain I've got almost everything setup correctly. In fact, I see the widget appear when I visit the page UNCACHED (i.e. in FF, I hit CTRL+SHIFT+R to reload all content to avoid loading from cache). Once I revisit the site, or move around within the site by clicking links, the content does not reappear.
I'm wondering if it's an issue with a) the channel.php file, or b) the apps interaction with my use of JQuery. The channel.php file is verbain what is provided by Facebook (using PHP's caching mechanism).
Here's the site currently: http://www.morningfatty.com/demo - It might be easier to list this rather than post several code snippets.
I went to your website and didn't see the like box. I checked the HTML code and it all appeared fine. The div looked like <div data-header="false" data-stream="false" data-border-color="#40ADAD" data-show-faces="true" data-colorscheme="light" data-width="192" data-href="http://www.facebook.com/morningfatty" class="fb-like-box"></div>
I went to https://developers.facebook.com/docs/reference/plugins/like-box/ and tried your link http://www.facebook.com/morningfatty and lo-and-behold the like box didn't display there.
I tried going directly to http://www.facebook.com/morningfatty and it redirected me to http://www.facebook.com/MorningFatty. I noticed the change of case in the name. So I went back and tried http://www.facebook.com/MorningFatty in the like-box and it worked!!.
I believe that you page will work once you update the casing on the url. :)
Update: The problem seems to have magically fixed itself, because I don't know what changed. If someone has an idea about how I accidentally fixed it, please post (I include myself :P).
I'm trying to use Facebook Connect on my site, but I'm having trouble with using requireSession or fb:login-button. Currently, when a user clicks the connect button, they get a popup window,but I really want to show an in-page modal. How do I do that? Currently, what I've got in pages is this HTML code:
<a href="#" onclick="FB.Connect.requireSession(on_session_ready); return false;">
Connect with Facebook
<img id="fb_login_image"
src="http://b.static.ak.fbcdn.net/images/fbconnect/login-buttons/connect_dark_small_short.gif"
alt="Connect"/>
</a>
(I'm pretty sure it on_session_ready doesn't matter for problem, because it only gets called after fb connect gets a session.)
I've also tried using the fb:login-button XFBML tag, but I also get a popup window when I do that.
What am I doing wrong?
You are not doing anything wrong. Facebook is currently split-testing modal vs popup login boxes.
They will most likely settle on popups for security reasons. But in the meantime, you have no control over which type of dialog box your users see.
PS: This is well-covered on the Facebook Developer Forums.
http://forum.developers.facebook.com/viewtopic.php?id=25808
http://forum.developers.facebook.com/viewtopic.php?pid=157799
http://forum.developers.facebook.com/viewtopic.php?id=29523