webForumDet fria alternativet

Facebook Request Dialog i en iframe på html-sida

10 svar · 1 308 visningar · startad av quickhelp

quickhelpMedlem sedan maj 200843 inlägg
#1

Jag skulle vilja visa en facebook request dialog (för invites) som en iframe på min html-sida. Jag har följande kod nu:

<div id="fb-root"></div>
    <script type="text/javascript">
    //<![CDATA[
           window.fbAsyncInit = function() {
               FB.init({appId: 'xyz', 
                  status: true, 
                  cookie: true, 
                  xfbml: true,
                  oauth: true});
            };

                FB.ui({ method: 'apprequests',
                    display: 'iframe',
                    title: 'Invitation to join game',
                    data: '1234',
                    new_style_message: true,
                    message: 'invitation to join game'});

            (function() {
                var e = document.createElement('script');
                e.type = 'text/javascript';
                e.src = document.location.protocol +
                    '//connect.facebook.net/en_US/all.js';
                e.async = true;
                document.getElementById('fb-root')
                                       .appendChild(e);
            }());
          //]]>
    </script>

Borde inte display:'iframe' visa detta innehåll som en iframe på sidan vid sidladdning? Eller gör ag något fel här?

MickeA.comMedlem sedan feb. 20034 528 inlägg
#2

Jag tror inte att du behöver "display", eller om det ens stöds. Jag har iaf. en iframe-app och där har jag gjort såhär:

function sendInvitations(){
	var user_ids = document.getElementsByName("user_ids")[0].value;
	FB.ui({method: 'apprequests',
		title: 'Invite friends to my super app!',
		message: 'Super app invitation',
		to: user_ids, 
	}, requestCallback);
}

Sen triggar jag "popupen" med en vanlig länk. Har man deras JS-SDK inläst (som resten av din kod kräver...) så öppnas den som en vanlig "Facebook-popup", alltså inte i ett eget fönster utan som en vanlig dialog på sidan du befinner dig på.

quickhelpMedlem sedan maj 200843 inlägg
#3

Vad menar du med en iframe-app?
Jag kan lägga till en länk "Invite Friends" som sedan anropar en sendInvitations() och vid en klick så dyker en "Facebook-popup" upp. Dock vill jag att denna popup ska ligga i en iframe på min sida och därmed bli mer integrerat. Detta vill jag ska visas vid page load och inte efter att användaren klickat på en "Invite Friends"-länk. Går det att få det så?

MickeA.comMedlem sedan feb. 20034 528 inlägg
#4

Men varför ska du ha den i en iframe? Använder du deras JS-SDK kan du ju få en "flytande" dialog direkt, som är den absolut snyggaste lösningen. Du kan ha en funktion enl. mitt exempel ovan, sen lägger du t.ex. det här i sidfoten:

$(function(){
	sendInvitations();
});
quickhelpMedlem sedan maj 200843 inlägg
#5

Tack för svar.

Jag kommer ha en sida där man kan invita användare på två sätt:

  1. Via användarnamn (på min sida) alt. email-adress.
  2. Via facebook

Jag vill att allt detta direkt ska visas på en och samma sida och därmed skulle jag vilja placera denna "Facebook-popup" direkt på sidan utan att visas som en popup (kanske funkar utan en iframe). Har dock inte hittat ett sätt att göra detta på. Det kanske inte går? Vad gör display:'iframe' egentligen, som är en parameter som finns på denna dialog.

quickhelpMedlem sedan maj 200843 inlägg
#6

ingen som har något svar?

MickeA.comMedlem sedan feb. 20034 528 inlägg
#7

Jag har ju redan svarat, men du vägrar lyssna... Mitt exempel fungerar ju exakt som du vill, fast utan nån helt onödig popup, utan en dialogruta som öppnas på den sida du befinner dig på.

quickhelpMedlem sedan maj 200843 inlägg
#8

Jag provade det men får inte till det som jag vill. Antingen så missförstår jag dig, eller så förklarar jag inte så bra. Har bifogat två bilder:

1) Så här ser det ut nu:

2) Ungefär så här vill jag att det ska se ut (dvs, ingen popup som döljer något annat på sidan):

onkelborgMedlem sedan juli 2003582 inlägg
#9

Fast det där är ju ingen popup, och jag begriper inte nyttan med en iframe

onkelborgMedlem sedan juli 2003582 inlägg
#10

Den enda idén jag har är att med t.ex. jquery ta och ändra css på rätt element (den där dialogen som facebook skapar ligger i en iframe, men själva bordern osv ligger utanför, så den kan du påverka. Likaså kan du ändra positionen för den. Troligtvis kan du ändra storleken också. Testa

MickeA.comMedlem sedan feb. 20034 528 inlägg
#11

Förstår fortf. inte varför... Finns bara fördelar med att ha det som dom "gjort", d.v.s visa dialogrutan. Redan integrerat, folk känner igen sig etc. Varför hålla på tweaka/försämra något som besökarna redan känner igen!?

Genererad på 364 ms · cache AV · v20260730165559-full.f96bc7eb