Facebook-inbäddningsgenerator
Inledning
Toollect Facebook-inbäddningsgenerator förvandlar vilken offentlig Facebook-inläggs-, video- eller sid-URL som helst till den officiella JavaScript SDK-inbäddningskod som Facebook dokumenterar – diven fb-post / fb-video / fb-page plus sdk.js-loadern – med ett klick, med en liveförhandsvisning renderad av Facebooks eget SDK innan du kopierar.
Friktionen den tar bort känner du igen om du någonsin har klistrat in Facebook-kod för hand. Facebooks konfigurator gömmer sidplugin, sprider inläggs- och videoalternativ över separata sidor och växlar mellan iframe- och SDK-former utan att förklara avvägningarna. En handskriven div misslyckas tyst när ett data--attribut är felstavat och inlägget renderas som en vanlig länk. Det här verktyget visar Inlägg, Video och Sidplugin sida vid sida, exponerar varje dokumenterat pluginattribut, skriver ditt språkval direkt i loader-URL:en och visar den verkliga renderingen i samma webbläsare som ska betjäna dina besökare.
Varje kodväg är medvetet endast SDK. SDK:t är det format som Facebook underhåller för alla tre plugintyper, det enda som stöder visningsspråk och det enda som kan hålla sidpluginflikar och storlek konsekventa. Generatorn inkluderar fb-root och loadern när du behöver dem och utelämnar dem när din webbplats redan laddar SDK:t, håller förhandsvisningen ärlig kring annonsblockerare och privat innehåll och skickar aldrig din länk via en Toollect-server.
Användningsfall
Att bädda in Facebook-innehåll dyker upp på fler ställen än i ett blogginlägg, och de tre flikarna delar upp arbetet naturligt.
Bloggar och redaktionellt innehåll
Ett kommentarsinlägg som citerar ett offentligt inlägg, en kulturartikel som återanvänder en viral video, en recension som bäddar in ett varumärkes sidtidslinje som socialt bevis – de klassiska fallen. Inläggsläget med standardbredden 500 pixlar täcker de flesta kolumner; videoläget sätter spelaren främst; sidplugin visar en levande tidslinje utan skärmbilder.
Nyhetsredaktioner och livebevakning
Reportrar tar in officiella uttalanden och ögonvittnesinlägg i rullande bevakning. Hastighet spelar roll, och verifiering likaså – generatorn normaliserar mobila delningslänkar som m.facebook.com och spårningstunga URL:er till en kanonisk referens, och förhandsvisningen bekräftar att inlägget fortfarande renderas innan artikeln publiceras.
Marknadsföringssajter och portfolios
Kundrecensioner som inbäddade sidtidslinjer, lanseringsvideor som spelare på sidan, annonseringsinlägg som kort. Språkvalet renderar den omgivande ramen på besökarens språk, och att utelämna SDK-loadern håller sidor som redan laddar Facebooks SDK fria från dubbla skript.
Dokumentation och communitysajter
Releasenoter som citerar ett lanseringsinlägg, dokumentation som refererar till ett Facebook-grupputtalande, eventsidor som visar en sidas Event-flik. Visa text och Lazy loading låter tunga sidor vara lugna tills du scrollar nära.
Så fungerar det
Verktyget körs i fem steg –
- Parsa och klassificera URL:en – inmatningen matchas mot Facebook-länkgrammatiken – numeriska ID:n
5–20siffror ellerpfbid-ID:n, användarnamn2–50tecken, flikar som matchar[a-z][a-z0-9_]*och de tre officiella värdarnafacebook.commed valfri underdomän,fb.watchochfb.me. Spårningsfrågenycklar läses och ignoreras sedan för routning – den återuppbyggda kanoniska URL:en bär dem aldrig. Rutter utan ID somfacebook.com/watchutanvellerfb.watchutan kortkod avvisas. - Välj plugintyp –
post/photo/group-postmappas till Inlägg,video/reeltill Video,pagetill Sidplugin. Flikfältet följer länken – att klistra in en watch-länk växlar automatiskt till Video, att klistra in en sidlänk till Sidplugin – och att byta flik manuellt rensar föråldrad utdata i stället för att studsa tillbaka. - Samla dina alternativ – Språk från flikens rullgardinsmeny, bredd och höjd från sifferfälten, sidkryssrutor för flikar och ram, videoväxlar för helskärm, autoplay och undertexter. Varje ändring kläms till giltigt intervall, skrivs tillbaka i fältet och regenereras direkt.
- Bygg den officiella markups – dina alternativ blir
data-*-attribut påfb-*-diven och för Sidplugin bär loader-URL:en ditt språk somhttps://connect.facebook.net/{locale}/sdk.js#xfbml=1&version=v26.0. Ingen iframe-URL byggs – SDK:t konsumerar divattributen vid parsning. - Rendera förhandsvisningen – generatorn injicerar diven plus en
fb-rooti förhandsvisningsvärden, laddar eller laddar omsdk.jsför vald locale, anroparFB.XFBML.parseoch bevakar den resulterande iframen. Tre utfall rapporteras ärligt – lyckad rendering, en annonsblockerare eller en rendering som inte kan slutföras.
Att ändra ett alternativ bygger om hela kedjan – nya attribut, färsk kodruta, omparsad förhandsvisning – så koden du kopierar matchar alltid det du tittar på.
URL-format som stöds
Generatorn accepterar varje URL-form som identifierar ett offentligt inlägg, en video eller en sida på Facebooks tre officiella värdar och avvisar allt annat med ett specifikt meddelande. Schema och www. är valfria; mobila underdomäner normaliseras.
Format som accepteras
| Format | Exempel | Flik | Resultat |
|---|---|---|---|
| Kanoniskt inlägg | facebook.com/username/posts/1234567890123456 |
Inlägg | fb-post för det inlägget |
| pfbid-inlägg | facebook.com/nike/posts/pfbid0ABCDEF12345 |
Inlägg | fb-post för det inlägget |
| Delningsinlägg | facebook.com/share/p/Ab12CdEfGh/ |
Inlägg | fb-post för det inlägget |
| Story / permalink | facebook.com/story.php?story_fbid=123&id=456 / permalink.php?story_fbid=... |
Inlägg | fb-post för det inlägget |
| Foto | facebook.com/username/photos/1234567890123456 / photo.php?fbid=... / photo/?fbid=... |
Inlägg | fb-post för det fotot |
| Gruppinlägg | facebook.com/groups/999888777666/posts/111222333444555 |
Inlägg | fb-post för det gruppinlägget |
| Kanonisk video | facebook.com/username/videos/1234567890123456 |
Video | fb-video för den videon |
| Watch-länk | facebook.com/watch/?v=10153231379946729 |
Video | fb-video för den videon |
| Reel | facebook.com/username/reels/Ab12CdEfGhIj / facebook.com/reel/Ab12Cd... |
Video | fb-video för det reelet |
| Sida via användarnamn | facebook.com/facebook |
Sidplugin | fb-page för den sidan |
| Sida via ID | facebook.com/profile.php?id=100001234567890 |
Sidplugin | fb-page för den sidan |
| Sidfliksvy | facebook.com/facebook/videos |
Sidplugin | fb-page för den sidan – fliksuffix ignoreras |
| Kortdomän | fb.watch/AbC12dEfXy |
— | Avvisad – kortlänkar bär kind:"short" och behöver fullständig URL |
| Omdirigeringsdomän | fb.me/nike |
Sidplugin | fb-page för den sidan |
Avslutande snedstreck, hashfragment och frågesträng efter ID:t tolereras och kastas; visningssuffix som ett numeriskt fliksegment efter ett användarnamn behandlas som sidfliksvy, inte som separat resurs.
Format som avvisas
| URL-form | Varför den avvisas |
|---|---|
fb.watch/AbC12dEfXy |
Officiell kortlänk – målet kan inte lösas lokalt och Facebook dokumenterar ingen inbäddningsform för kortkoder |
facebook.com/sharer/sharer.php?u=... / l.php / dialog / tr osv. |
Reserverade verktygsrutter – inloggning, delning, spårning – inte inbäddningsbart innehåll |
facebook.com/hashtag/something / search/top/?q=... |
Upptäcktsrutter – inget enskilt inlägg eller sida |
example.com/facebook/nike eller annan icke-Facebook-värd |
Ingen Facebook-domän |
| Text som inte är en URL | Ingen värd att matcha |
Fallet fb.watch förtjänar betoning eftersom appens delningsknapp fortfarande producerar den formen. Generatorn avvisar den medvetet med det dedikerade kortlänksmeddelandet och ber dig öppna länken och kopiera den fullständiga inläggs- eller video-URL:en i stället. Att klistra in den expanderade URL:en lyckas direkt.
Inbäddningskodens anatomi
Utdatan är den kod som Facebook dokumenterar, med dina alternativ tillämpade. En inläggsinbäddning med standardvärden ser ut så här –
<div class="fb-post" data-href="https://www.facebook.com/facebook/posts/10153231379946729" data-width="500"></div>
<div id="fb-root"></div>
<script async defer src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v26.0"></script>
Genomgång av delarna –
- Plugin-divens klass –
fb-post,fb-videoellerfb-pagetalar om för SDK:t vilket plugin som ska instansieras. En klass per inbäddning. data-href– den kanoniska URL:en från föregående avsnitt, ampersand-escapad. Det enda obligatoriska attributet för alla tre plugin.data-width(Inlägg och Video) – önskad bredd i pixlar. Inlägg accepterar350–750med standard500i verktyget, Video220–1920med standard500. Facebooks SDK dimensionerar kortet till denna bredd när det är möjligt.data-show-text– finns när Visa inläggstext är ikryssad. Facebook dokumenterar det för inlägg och videor som innehåller ett foto; utan det kan texten döljas.data-lazy– finns när Lazy-load är ikryssad. Skjuter upp rendering tills inbäddningen scrollas nära.data-allowfullscreen/data-autoplay/data-show-captions(endast Video) –allowfullscreenaktiverar helskärmsknappen,autoplaystartar tyst uppspelning när sidan laddas på dator,show-captionsvisar undertexter som standard när de finns på dator. Alla tre saknas när de är av.data-tabs/data-height/data-small-header/data-adapt-container-width/data-hide-cover/data-hide-cta/data-show-facepile(endast Sidplugin) –tabslistar synliga flikar somtimeline,events,messagesmed standardtimeline,heightstandard500, booleanerna mappar direkt till pluginets ramväxlar.- Loadern –
fb-rootplussdk.js#xfbml=1&version=v26.0frånconnect.facebook.net/{locale}/.en_USär ett exempel – ditt språkval skriver localesegmentet. KryssrutanInclude the fb-root div and sdk.js loadertar bort hela blocket när din webbplats redan laddar SDK:t.
Ett sidplugin med icke-standardinställningar visar den fylligare attributmängden –
<div class="fb-page" data-href="https://www.facebook.com/facebook" data-tabs="timeline,events" data-width="340" data-height="500" data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-hide-cta="false" data-show-facepile="true"></div>
Inbäddningsinställningar
Varje reglage mappar till ett attribut. Standardvärden inom parentes.
Språk (standard ditt Toollect-språk på webbplatsen – zh-hant blir zh_TW, zh-hans zh_CN, en en_US och likadant för de, es, fr, it, ja, nl, pt, sv) – visar 60 locales från en_US till af_ZA med lokaliserade namn per Toollect-språk på sidan. Varje explicit val, engelska inkluderat, skrivs in i loader-URL:en. SDK:t lokaliserar ramen runt inbäddningen – tidsstämplar, Gilla-knappetiketter – aldrig själva inläggstexten.
Bredd (Inlägg 500, Video 500, Sida 340) – skriven som exakt tal, klämd till giltigt intervall så snart du lämnar fältet. Inlägg 350–750, Video 220–1920, Sida 180–500. Värden utanför intervallet hoppar till närmaste gräns – 5000 på Video blir 1920.
Höjd (Sida 500) – endast Sidplugin, 70–2048. Inlägg och videor bär inget höjdattribut – SDK:t dimensionerar deras kort från bredd och innehåll.
Visa inläggstext med foton och videor (av) – skriver data-show-text="true" för Inlägg och för Video lägger till (endast dator) i etiketten för att matcha Facebooks not att textväxeln bara påverkar rendering på dator.
Lazy-load tills nära scroll (av, alla flikar) – skriver data-lazy="true".
Tillåt helskärmsuppspelning (av, Video) – skriver data-allowfullscreen="true".
Spela automatiskt när sidan laddas (tyst, endast dator) (av, Video) – skriver data-autoplay="true". Facebook dokumenterar detta som tyst autoplay endast på dator.
Visa undertexter som standard när de finns (endast dator) (av, Video) – skriver data-show-captions="true", endast dator.
Flikar att visa (Tidslinje, Sidplugin) – tre kryssrutor timeline / events / messages sammanfogade som data-tabs="timeline,events,messages". Okryssade flikar saknas helt enkelt i listan.
Använd liten rubrik / Anpassa till containerbredd / Dölj omslagsfoto / Dölj anpassad call-to-action / Visa profilbilder för vänner (Sidplugin) – var och en skriver sin data-*-boolean. Anpassa är på som standard; facepile är på som standard.
Inkludera fb-root-diven och sdk.js-loadern (på) – styr om loaderblocket läggs till. Webbplatser som redan laddar sdk.js globalt bör kryssa ur den.
Språk och internationalisering
Facebooks FAQ om inbäddade inlägg och JavaScript SDK:s internationaliseringsguide säger samma sak – visningsspråket för sociala plugin kommer från localesegmentet i sdk.js-URL:en. Det här verktyget gör det synligt.
Ditt språkval flödar till två platser –
- Den genererade koden –
https://connect.facebook.net/{locale}/sdk.js#xfbml=1&version=v26.0medlocalesomen_US,zh_TW,fr_FRellerja_JP. - Liveförhandsvisningen – att byta i rullgardinsmenyn bygger om förhandsvisningsvärden, tar bort tidigare laddat SDK-skript som bär annan locale, rensar
window.FBoch laddar den nya localen färsk innanFB.XFBML.parseanropas.
Standard följer automatiskt ditt Toollect-språk på webbplatsen – besök på toollect.com/zh-hant/tools/facebook-embed-generator/ förväljer zh_TW, zh-hans förväljer zh_CN, ja förväljer ja_JP och de europeiska språken mappar till sin territorieform (de→de_DE, fr→fr_FR och så vidare), annars faller tillbaka till en_US. Det finns inget Automatiskt alternativ – Facebook kräver en explicit locale, så verktyget skriver alltid en.
Vad som ändras och vad som inte gör det –
| Aspekt | Följer localen | Stannar som författad |
|---|---|---|
| Tidsstämpelformat | Ja | — |
| Gilla- / Dela-knappetiketter | Ja | — |
| Inläggstext, videotitel, sidnamn | — | Ja |
| Kommentarer på inlägget | — | Ja |
Visningsspråk som stöds
Facebook dokumenterar runt hundra locales för SDK:t. Rullgardinsmenyn erbjuder de sextio mest använda, med namn lokaliserade per Toollect-språk på sidan. Den fullständiga dokumenterade uppsättningen inkluderar –
af_ZA Afrikaans · ar_AR Arabiska · az_AZ Azerbajdzjanska · bg_BG Bulgariska · bn_IN Bengali · bs_BA Bosniska · ca_ES Katalanska · cs_CZ Tjeckiska · da_DK Danska · de_DE Tyska · el_GR Grekiska · en_GB Engelska (UK) · en_US Engelska (US) · es_ES Spanska (Spanien) · es_LA Spanska · et_EE Estniska · eu_ES Baskiska · fa_IR Persiska · fi_FI Finska · fr_FR Franska · gl_ES Galiciska · gu_IN Gujarati · he_IL Hebreiska · hi_IN Hindi · hr_HR Kroatiska · hu_HU Ungerska · hy_AM Armeniska · id_ID Indonesiska · is_IS Isländska · it_IT Italienska · ja_JP Japanska · jv_ID Javanesiska · ka_GE Georgiska · km_KH Khmer · kn_IN Kannada · ko_KR Koreanska · lo_LA Lao · lt_LT Litauiska · lv_LV Lettiska · mk_MK Makedonska · ml_IN Malayalam · mr_IN Marathi · ms_MY Malajiska · my_MM Burmesiska · nb_NO Norska · ne_NP Nepali · nl_NL Nederländska · pa_IN Punjabi · pl_PL Polska · pt_BR Portugisiska (Brasilien) · pt_PT Portugisiska (Portugal) · ro_RO Rumänska · ru_RU Ryska · si_LK Singalesiska · sk_SK Slovakiska · sl_SI Slovenska · sq_AL Albanska · sr_RS Serbiska · su_ID Sundanesiska · sv_SE Svenska · sw_KE Swahili · ta_IN Tamil · te_IN Telugu · th_TH Thailändska · tl_PH Filippinska · tr_TR Turkiska · uk_UA Ukrainska · ur_PK Urdu · vi_VN Vietnamesiska · zh_CN Kinesiska (förenklad) · zh_HK Kinesiska (Hongkong) · zh_TW Kinesiska (traditionell)
Varje locale bortom rullgardinsmenyn är giltig i loader-URL:en via samma mönster – https://connect.facebook.net/{locale}/sdk.js – men de sextio ovan täcker varje språk som Toollect själv levererar, så att klistra in koden kräver sällan redigering.
Användning
- Klistra in en Facebook-URL i inmatningen – vilket accepterat format som helst från tabellerna ovan, inklusive
m.facebook.comochfb.me-kortlänkar som pekar på en sida. Schema ochwww.är valfria. - Tryck på Generera eller Enter. Koden dyker upp i utdatarutan och förhandsvisningen öppnas automatiskt och visar den verkliga SDK-renderingen. URL-fältet styr också fliken – en watch-länk växlar till Video, en sidlänk till Sidplugin.
- Välj flik vid behov – Inlägg för inlägg, foton och gruppinlägg; Video för videor och reels; Sidplugin för sidor. Att byta regenererar med flikens alternativuppsättning, felmatchade flikar rensar föråldrad utdata.
- Ställ in språk – standard matchar redan ditt språk på webbplatsen, men du kan välja vilken som helst av de sextio localerna. Den genererade loader-URL:en och förhandsvisningen växlar direkt.
- Justera återstående alternativ – bredd, höjd för Sida, rubrik- och omslagsväxlar, lazy loading. Varje ändring regenererar; kodrutan och förhandsvisningen glider aldrig isär.
- Kontrollera förhandsvisningens diagnostik – om inget kort dyker upp säger varningen ovanför utdatan om SDK:t blockerades, innehållet inte kan renderas eller URL:en pekar på en personlig tidslinje i stället för en sida.
- Kopiera koden och klistra in den på din sida där inbäddningen ska visas. Om din webbplats redan laddar
sdk.js, kryssa ur inkluderingen av loadern för att undvika dubbletter.
Inmatning som inte matchar något stött format rensar utdatan och förklarar sig i det röda felområdet – antingen meddelandet för ogiltig länk eller kortlänksmeddelandet. Rensa återställer inmatning, kod och förhandsvisning i ett steg.
Handledning
Följ en verklig länk genom alla tre flikar.
Steg 1 – Klistra in en inläggslänk som appen delar den. Kopiera en inläggs-URL med spårningsparametrar –
https://m.facebook.com/facebook/posts/pfbid0AbCdEfGhIjKlMnOpQrStUvWxYz1234567890?__tn__=K-R
Tryck på Generera. Parsern läser förbi m.-underdomänen och __tn__-spårningen till facebook, inlägg pfbid0AbCdEfGhIjKlMnOpQrStUvWxYz1234567890, fliken stannar på Inlägg och koden visar data-width="500" med en_US-loadern eftersom denna genomgång är på den engelska webbplatsen. Förhandsvisningen öppnas och kortet renderas i 500 pixlar.
Steg 2 – Byt språk. Byt inläggsspråk till traditionell kinesiska zh_TW. Loadern blir https://connect.facebook.net/zh_TW/sdk.js#xfbml=1&version=v26.0 och förhandsvisningen laddar om SDK:t – tidsstämpeln vid inlägget växlar till sin kinesiska form medan inläggstexten stannar exakt som författad.
Steg 3 – Gör smalare. Skriv 600 i Bredd och lämna fältet. Diven får data-width="600" och kortet krymper. Prova att skriva 9999 och lämna – fältet hoppar till 750, max för Inlägg.
Steg 4 – Växla till Video. Byt i inmatningen ut inläggs-URL:en mot en video –
https://www.facebook.com/facebook/videos/10153231379946729/
Tryck på Generera. Verktyget växlar till Video, koden blir <div class="fb-video" data-href="https://www.facebook.com/facebook/videos/10153231379946729" data-width="500"> och språkrullgardinen visar samma standard en_US. Kryssa i Autoplay och Visa undertexter – var och en skriver sitt data-* med endast-dator-noten kvar i etiketten.
Steg 5 – Sidplugin. Klistra in https://www.facebook.com/facebook och Generera. Sidpluginfliken öppnas med data-tabs="timeline" och hela ramuppsättningen. Kryssa i Events och Messages – attributet blir data-tabs="timeline,events,messages". Ändra Bredd till 500 och Höjd till 700 – båda attributen uppdateras. Förhandsvisningen visar sidans tidslinje, omslag och facepile exakt som koden på din webbplats.
Steg 6 – Kopiera och publicera. Tryck på Kopiera och klistra in i en enkel HTML-sida som redan laddar sdk.js – kryssa ur loadern innan du kopierar. Öppna sidan – inlägget, videon och sidan renderas var och en i de bredder du satte, på de språk du valde.
Förhandsvisning och diagnostik
Förhandsvisningen kör Facebooks äkta sdk.js mot din exakta div från buildSdkCode, så den misslyckas exakt där din sida kommer att misslyckas. Värden visar en spinner medan sdk.js laddas ner och FB.XFBML.parse körs, sedan dyker ett av fyra utfall upp –
| Tillstånd | Vad det betyder | Vad du ska göra |
|---|---|---|
| Kort / video / tidslinje renderas | Inbäddningen är giltig och offentlig | Kopiera och klistra in – samma rendering dyker upp på din webbplats |
| "Facebook SDK kunde inte laddas — ofta en annonsblockerare" | Webbläsaren kunde inte ladda ner connect.facebook.net/{locale}/sdk.js alls |
Vitlista connect.facebook.net i blockeraren eller prova ett rent privat fönster. Den publicerade inbäddningen misslyckas på samma sätt för besökare med den blockeraren |
| "Facebook renderade inte förhandsvisningen inom 15 sekunder" | SDK:t laddades men producerade ingen iframe | Innehållet kan vara icke-offentligt, ålders- eller landsbegränsat, raderat eller så har författaren stängt av inbäddning. Öppna originallänken på facebook.com för att kontrollera – om den syns där men inte här är inbäddning avstängd |
| "Denna URL kan vara en personlig profil — sidplugin fungerar bara tillförlitligt med Facebook-sidor" | SDK:t renderade en iframe som stannade på 0 eller under 70 pixlar i flera mätningar, eller FB.Event rapporterade ett renderingsfel |
Sidplugin är gjort för sidor – personliga tidslinjer delar samma URL-former som /username och profile.php?id=..., så en statisk kontroll skulle felklassificera riktiga sidor. Prova en känd sida som facebook.com/facebook – om den renderas flaggar varningen korrekt en personlig URL |
Båda tidsvarningarna utlöses först efter generösa väntetider – tjugo sekunder för SDK-nedladdning, femton till för rendering – så långsamma anslutningar ger inga falsklarm. Ett inbäddningsbart inlägg renderas gott och väl inom dessa fönster, och ett personligt profil-sidplugin visar den gula varningen inom cirka tre sekunder efter att iframen stannat på nollstorlek.
En detalj värd att känna till – generatorn spårar loadedLocale. Att byta språk efter lyckad rendering tar bort föregående sdk.js-scripttagg, rensar window.FB och laddar den nya localen färsk innan parsning. Tidigare renderade kort från föregående locale rensas från förhandsvisningsvärden innan ny parsning, så förhandsvisningen matchar alltid loader-URL:en du kopierar.
Proffstips
- Para ihop med Facebook-URL-tolken. Tolken analyserar och rensar en länk – typ, användarnamn, ID, borttagna spårningsnycklar – medan generatorn förvandlar den rena länken till kod. Arkivera med tolken, publicera med generatorn.
- En loader, många inbäddningar. Sidor med flera Facebook-inbäddningar bör ladda
sdk.jsen gång – generera första inbäddningen med loadern ikryssad, resten urkryssade, eller ladda SDK:t själv i webbplatsmallen och utelämna den överallt.fb-root-diven behövs också bara en gång per sida. - Designa för kolumnen, sätt sedan bredd. Facebook-kort kapar visuellt runt bredderna i alternativtabellen; förhandsvisningen visar det verkliga resultatet i din containerstorlek innan du bestämmer dig. Skriv ett exakt pixelvärde –
567är giltigt – och klämningen korrigerar bara om det lämnar det dokumenterade intervallet. - Använd videoläge för klippfokuserade inlägg. En video inbäddad via inläggsplugin renderas som statiskt kort – via
fb-videorenderas den som spelare med de autoplay- och undertextreglage som pluginet dokumenterar. - Fäst språket explicit. Att låta ramen flyta med värdsidans
<html lang>gör utdatan beroende av var den klistras in. Varje explicit val,en_USinkluderat, skriver localen i koden och återger samma etiketter oavsett värd. - Lazy-loada tunga sidor. En artikel med tre sidplugin-tidslinjer tjänar direkt på
data-lazy– SDK:t skjuter upp parsning tills inbäddningen scrollas nära. - Håll sidpluginflikar minimala. Varje extra flik lägger till höjd och nätverkskostnad – enbart
timelineär snabbast initial rendering; lägg tilleventsochmessagesbara när sidan verkligen använder dem.
Alternativ
Hur annars kan du få Facebook-innehåll till en sida?
| Metod | Officiell markup | Alternativtäckning | Liveförhandsvisning | Beroenden |
|---|---|---|---|---|
| Detta verktyg | Ja – SDK-div med dokumenterad data-* |
Full uppsättning inklusive 60 språk, sidflikar och spelarreglage | Ja, med trestegsdiagnostik | Inga – webbläsare till Facebook direkt |
Facebooks sidpluginkonfigurator (developers.facebook.com) |
Ja – samma SDK-div | Endast sida, ingen inläggs-/videounion, begränsad breddhjälp | Endast i konfiguratorn | Facebook-konto |
Handskriven fb-*-div + sdk.js |
Korrekt formad om noggrann | Vad du än skriver – lätt att skriva fel | Nej | sdk.js |
Fristående iframe plugins/post.php-URL |
Äldre iframe-form | Delmängd – inget språk, ingen lazy, inga sidflikar som data- |
Nej | Inga |
Facebook Graph API (/{id}?fields=... + egen renderare) |
Nej – endast JSON | Total, byggd av dig | Bygg den själv | App, token, granskning |
| Inbäddningstjänster från tredje part | Deras egen wrapper-markup | Varierar | Ibland | Deras skript och spårning |
Facebooks egen konfigurator är det närmaste alternativet och källan till samma data-*-vokabulär – men den separerar Inlägg, Video och Sida på olika sidor, erbjuder ingen varning för personlig kontra sida och producerar aldrig en inläggs-/video-/sidunion med verktygets fullständiga språklista. Graph API-vägen köper total kontroll till priset av en app, en token och löpande granskning och lämnar ändå renderingen åt dig. Tredjepartstjänster skjuter in egna skript. Generatorn intar den praktiska mitten – officiell markup, fullständiga alternativ, omedelbar visuell bekräftelse.
Jämfört med officiella API:er
Två officiella ytor berör Facebook-inbäddning, och generatorn är byggd direkt på den vänligare, nyckellösa.
| Förmåga | Social Plugins + JavaScript SDK | Graph API |
|---|---|---|
| Syfte | URL → renderad inbäddning, klientsida | Full plattformsdata och publicering |
| Autentisering | Ingen | Användar- eller apptoken, ofta granskningskrävd |
| Kostnad | Gratis | Gratis för grundläggande läsning, hastighetsbegränsad, granskning för utökade behörigheter |
| Returnerar färdig kod att klistra in | Ja – fb-*-diven plus sdk.js-loadern |
Nej – JSON som du renderar själv |
| Språkkontroll | Ja – sdk.js-localesegment |
Irrelevant – du renderar vyn |
| Hastighetsgränser | Inga dokumenterade för SDK/plugin | Dokumenterade Graph-gränser |
Generatorn anropar ingen Graph-slutpunkt. Den bygger Social Plugin-markupen enligt regel, speglar vad konfiguratorn skulle mata ut och förlitar sig på SDK:ts egna FB.XFBML.parse för rendering. Graph API är inte inblandat – att hämta inläggsdata via det skulle kräva en token och ändå lämna renderingen åt dig, medan SDK:t redan renderar det officiella kortet gratis.
Generator vs URL-tolk
Toollect levererar två Facebook-verktyg som accepterar samma länkar, och arbetsfördelningen är värd en blick –
| Fråga | URL-tolk | Denna generator |
|---|---|---|
| Vilka länkar? | Alla Facebook-värdar och typer – inlägg, videor, reels, foton, gruppinlägg, sidor plus fb.watch/fb.me-kortlänkar och spårningsparameterlistor |
Offentliga inlägg, videor och sidor som kan bäddas in |
| Vad levererar den? | Rena kanoniska URL:er, inbäddnings- och delnings-URL:er, parameterstripplista | Färdig SDK-inbäddningskod att klistra in |
| Rensar spårningsparametrar? | Ja – listar varje borttagen nyckel som __tn__ och utm_*-familjer |
Onödigt – utdatan är nygenererad kod |
Löser fb.watch? |
Ja – behåller kort kanonisk och flaggar den som kind:"short" med dedikerat fel |
Nej – ber om fullständig inläggs- eller video-URL |
| Nätverksförfrågningar? | Noll – allt är lokal regex | Förhandsvisning laddar sdk.js från connect.facebook.net och renderad iframe från Facebook |
| Visar inläggsinnehåll? | Endast struktur – ingen inläggsdata | Förhandsvisningen visar verkligt renderat inlägg, video eller sida |
Tolken är analytikern; generatorn är byggaren. Ett publiceringsflöde använder legitimerat båda i ordning – tolka för att identifiera och normalisera vad en stökig delningslänk pekar på, sedan generera för att lägga den på sidan. De stämmer grammatiskt överens av konstruktion, så en länk som tolken accepterar som inbäddningsbart inlägg eller video är en länk som generatorn bäddar in, och en länk som generatorn avvisar förklaras av tolken.
Vad det inte gör
Gränserna, namngivna så att verktyget aldrig övertros –
- Det bäddar inte in
fb.watch-kortlänkar direkt. En kortlänk bär inget mål förrän Facebook omdirigerar. Klistra in den expanderade inläggs- eller video-URL:en i stället. - Det skiljer inte tillförlitligt en sida från en personlig profil enbart via URL. Båda delar
facebook.com/{username}ochprofile.php?id=.... En statisk allowlist skulle blockera riktiga sidor eller släppa igenom personliga profiler – båda förekommer – så verktyget genererar kod för varje sidformad URL och visar en gul förhandsvarning bara när SDK:t renderar en noll- eller pytteliten iframe eller rapporterar ett renderingsfel. - Det kringgår inte integritet eller begränsning. Privata inlägg, gruppinlägg som tittaren inte kan se, ålders- eller landsbegränsade sidor och författare som stängt av inbäddning producerar korrekt kod som renderar ingenting eller en begränsad vy där även Facebooks egen konfigurator skulle visa ingenting.
- Det hämtar eller verifierar inte inläggsinnehåll före rendering. Validering är grammatisk – om innehållet finns och kan bäddas in svaras först när SDK:t parsar diven.
- Det stylar inte kortet. Färger, typsnitt och ram inuti det renderade pluginet är Facebooks. Endast närvaro och storlek – visa text, omslag, facepile, lazy och numerisk bredd/höjd – är dina.
- Det installerar inte koden. Det du kopierar är det du klistrar in; verktyget kan inte nå in i ditt CMS eller din sidbyggare.
Felsökning
| Problem | Orsak | Lösning |
|---|---|---|
| "Ingen inbäddningsbar Facebook-länk hittades" | Icke-Facebook-värd eller reserverad rutt som sharer.php / hashtag |
Använd en inläggs-, video- eller sid-URL på facebook.com, fb.watch eller fb.me |
| "fb.watch-kortlänkar kan inte bäddas in direkt" | Officiell kortlänk – mål inte lokalt lösbart | Öppna länken och kopiera fullständig inläggs- eller video-URL |
| Gul "Denna URL kan vara en personlig profil" vid sidliknande URL | SDK:t renderade en tom eller pytteliten iframe eller rapporterade ett renderingsfel – samma URL-former betjänar både sidor och tidslinjer | Prova en känd sida som facebook.com/facebook – om den renderas flaggar varningen korrekt en personlig URL. För en riktig sida som ändå varnar kan sidan vara begränsad eller opublicerad |
| "Facebook SDK kunde inte laddas" | Annonsblockerare, spårningsskydd eller nätverksblock på connect.facebook.net |
Vitlista connect.facebook.net för denna sida och för dina besökares skull testa igen i privat fönster |
| "Facebook renderade inte förhandsvisningen inom 15 sekunder" | Icke-offentligt eller begränsat innehåll, eller tillfällig Facebook-otillgänglighet | Öppna originallänken på facebook.com – om den kräver inloggning eller visar en begränsningssida beter sig inbäddning likadant på din webbplats |
| Min skrivna bredd hoppade till 500 / 1920 | Värde utanför intervall klämt vid fältblur | Avsiktligt – verktyget speglar Facebooks dokumenterade intervall; skriv inom intervallet som visas i Inbäddningsalternativ |
| Fungerar i förhandsvisning, tomt på min webbplats | Webbplatsens CSP blockerar Facebook-domäner, eller CMS:t tog bort diven | Lägg till https://connect.facebook.net i script-src och https://www.facebook.com / https://*.facebook.com / https://*.fbcdn.net i frame-src; klistra in i rå HTML, inte i visuell editor |
| Bytte språk men inläggstexten förblev främmande | Avsiktligt – locale lokaliserar widgetram, aldrig inläggsinnehåll | Förväntat – inlägget visas som författat |
[Violation] Permissions policy violation – unload i konsolen |
Konsolbrus från att Facebooks SDK registrerar en unload-hanterare som sidans behörighetspolicy blockerar |
Ofarligt – varken förhandsvisning eller genererad kod påverkas |
Integritet och datahantering
Det här verktyget är ärligt om sin trafik.
- Genereringen i sig är lokal. Att parsa URL:en, mappa den till en flik och sätta ihop
fb-*-diven sker i din webbläsare med JavaScript-strängoperationer. Ingen Toollect-server ser länken du klistrar in. - Förhandsvisningen laddar Facebooks maskineri. Att rendera kortet hämtar
sdk.jsfrånconnect.facebook.neti vald locale, anroparFB.initochFB.XFBML.parseoch den renderade iframen kommer frånfacebook.comochfbcdn.net– exakt den trafik som koden du kopierar kommer att skapa i dina läsares webbläsare. - Språkvalet bakas in i koden. Att välja
ja_JPskriver den localen i loader-URL:en du klistrar in; dina besökares webbläsare hämtar det localets SDK. Ingen preferens lagras av Toollect. - Inget konto, ingen lagring, ingen analys. Verktyget behåller inget tillstånd mellan besök bortom förhandsvisningsvärden i minnet; att stänga fliken avslutar allt.
- Att publicera koden innebär att dina besökare pratar med Facebook. Det är naturen hos inbäddning av socialt innehåll från tredje part – värt att säga rakt ut. Om du behöver ett strikt offline Facebook-flöde utför Facebook-URL-tolken på denna webbplats hela sitt jobb med noll nätverksförfrågningar.
Tekniska specifikationer
Detaljer –
- Utdata – SDK-div
fb-post/fb-video/fb-pagemed dokumenteradedata-*-attribut plusfb-rootochsdk.js#xfbml=1&version=v26.0frånhttps://connect.facebook.net/{locale}/sdk.js;Include the fb-root div and sdk.js loadertar bort loaderblocket när av - Inmatningsgrammatik – värdar
facebook.commed valfri underdomän,fb.watch,fb.me; användarnamn2–50tecken[A-Za-z0-9.]; flikar[a-z][a-z0-9_]*med numeriska andrasegment avvisade; ID:n5–20siffror ellerpfbid[1,200]; kortkoder5–40alfanum; reserverad lista 43 poster;profile.php?id=och/usernamebåda routar till sida i väntan på renderingverifiering - Kanoniska utdata-URL:er –
https://www.facebook.com/{username}ellerprofile.php?id=för sidor,.../posts/{id}/share/p/{id}//story.php?story_fbid=...för inlägg,.../videos/{id}ellerwatch/?v=för videor,.../reels/{id}/reel/{id}för reels,.../photo/?fbid=för foton,.../groups/{gid}/posts/{id}för gruppinlägg - Dimensioner – Inlägg
350–750standard500, Video220–1920standard500, Sidabredd 180–500standard340plushöjd 70–2048standard500;data-width/data-heightskrivna direkt, ingen iframe-dimensionering inblandad - Språk – vart och ett av de 60
fbeLangCodesvalbart;fbeLangDefaultföljer Toollect-språket på sidan –zh-hant→zh_TW,zh-hans→zh_CN,en→en_US,de→de_DE,es→es_ES,fr→fr_FR,it→it_IT,ja→ja_JP,nl→nl_NL,pt→pt_BR,sv→sv_SE; locale skriven till loader-URL och respekterad av förhandsvisningens SDK-omladdning vialoadedLocale-spårning - Förhandsvisningslivscykel –
renderPreviewinjicerarfb-root+fb-*-div,loadSdkJs(locale, cb)hanterar cachadsdk.jsmed locale-känslig omladdning (tar bort gammalt skript ochwindow.FBvid byte),FB.XFBML.parseanropad på värden,startWatcherpollar iframen var 500 ms upp till 30 försök (15 s) och upp till 6 försök av ihållande0×0(~3 s) före varningen för personlig profil,setPreviewLoadingenhetlig över fyra exitpunkter,fbe-fallback-länk pekar pålastCanonicalvid all diagnostik - Webbläsarstöd – alla moderna webbläsare med clipboard-API och stöd för
async/defer-skript; SDK-rendering kräver exekvering av tredjepartsskript och nåbarhet förconnect.facebook.net
Funktioner
- Generera officiell Facebook JavaScript SDK-inbäddningskod för inlägg, videor och sidplugin med ett klick
- Liveförhandsvisning renderad av Facebooks eget sdk.js innan du kopierar – med diagnostik för SDK-fel och timeout
- Välj bland 60 visningsspråk – ditt val bakas in i sdk.js-loader-URL:en för dina besökare
- Finjustera varje officiell pluginoption – bredd, sidflikar, omslag, rubrik, facepile och lazy loading
- Endast SDK-utdata som fungerar på alla webbplatser – valfri fb-root och loader ingår eller utelämnas efter behov
- Gratis och i webbläsaren – ingen API-nyckel, inget konto, ingen Toollect-serverproxy