Facebook-inbäddningsgenerator

Sociala Medier Video Kod

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 kommentar­sinlä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örings­sajter 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 community­sajter

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 –

  1. Parsa och klassificera URL:en – inmatningen matchas mot Facebook-länkgrammatiken – numeriska ID:n 5–20 siffror eller pfbid-ID:n, användarnamn 2–50 tecken, flikar som matchar [a-z][a-z0-9_]* och de tre officiella värdarna facebook.com med valfri underdomän, fb.watch och fb.me. Spårningsfrågenycklar läses och ignoreras sedan för routning – den återuppbyggda kanoniska URL:en bär dem aldrig. Rutter utan ID som facebook.com/watch utan v eller fb.watch utan kortkod avvisas.
  2. Välj plugintyppost / photo / group-post mappas till Inlägg, video / reel till Video, page till 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.
  3. 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.
  4. Bygg den officiella markups – dina alternativ blir data-*-attribut på fb-*-diven och för Sidplugin bär loader-URL:en ditt språk som https://connect.facebook.net/{locale}/sdk.js#xfbml=1&version=v26.0. Ingen iframe-URL byggs – SDK:t konsumerar divattributen vid parsning.
  5. Rendera förhandsvisningen – generatorn injicerar diven plus en fb-root i förhandsvisningsvärden, laddar eller laddar om sdk.js för vald locale, anropar FB.XFBML.parse och 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 klassfb-post, fb-video eller fb-page talar 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 accepterar 350–750 med standard 500 i verktyget, Video 220–1920 med standard 500. 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) – allowfullscreen aktiverar helskärmsknappen, autoplay startar tyst uppspelning när sidan laddas på dator, show-captions visar 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) – tabs listar synliga flikar som timeline,events,messages med standard timeline, height standard 500, booleanerna mappar direkt till pluginets ramväxlar.
  • Loadernfb-root plus sdk.js#xfbml=1&version=v26.0 från connect.facebook.net/{locale}/. en_US är ett exempel – ditt språkval skriver localesegmentet. Kryssrutan Include the fb-root div and sdk.js loader tar 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.0 med locale som en_US, zh_TW, fr_FR eller ja_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.FB och laddar den nya localen färsk innan FB.XFBML.parse anropas.

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

  1. Klistra in en Facebook-URL i inmatningen – vilket accepterat format som helst från tabellerna ovan, inklusive m.facebook.com och fb.me-kortlänkar som pekar på en sida. Schema och www. är valfria.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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åk­rullgardinen 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.js en 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-video renderas 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_US inkluderat, 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 till events och messages bara 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} och profile.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.js från connect.facebook.net i vald locale, anropar FB.init och FB.XFBML.parse och den renderade iframen kommer från facebook.com och fbcdn.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_JP skriver 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-page med dokumenterade data-*-attribut plus fb-root och sdk.js#xfbml=1&version=v26.0 från https://connect.facebook.net/{locale}/sdk.js; Include the fb-root div and sdk.js loader tar bort loaderblocket när av
  • Inmatningsgrammatik – värdar facebook.com med valfri underdomän, fb.watch, fb.me; användarnamn 2–50 tecken [A-Za-z0-9.]; flikar [a-z][a-z0-9_]* med numeriska andrasegment avvisade; ID:n 5–20 siffror eller pfbid[1,200]; kortkoder 5–40 alfanum; reserverad lista 43 poster; profile.php?id= och /username båda routar till sida i väntan på renderingverifiering
  • Kanoniska utdata-URL:er – https://www.facebook.com/{username} eller profile.php?id= för sidor, .../posts/{id} / share/p/{id}/ / story.php?story_fbid=... för inlägg, .../videos/{id} eller watch/?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–750 standard 500, Video 220–1920 standard 500, Sida bredd 180–500 standard 340 plus höjd 70–2048 standard 500; data-width/data-height skrivna direkt, ingen iframe-dimensionering inblandad
  • Språk – vart och ett av de 60 fbeLangCodes valbart; fbeLangDefault fö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 via loadedLocale-spårning
  • Förhandsvisningslivscykel – renderPreview injicerar fb-root + fb-*-div, loadSdkJs(locale, cb) hanterar cachad sdk.js med locale-känslig omladdning (tar bort gammalt skript och window.FB vid byte), FB.XFBML.parse anropad på värden, startWatcher pollar iframen var 500 ms upp till 30 försök (15 s) och upp till 6 försök av ihållande 0×0 (~3 s) före varningen för personlig profil, setPreviewLoading enhetlig över fyra exitpunkter, fbe-fallback-länk pekar på lastCanonical vid 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ör connect.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

Vanliga frågor

Vad genererar Facebook-inbäddningsgeneratorn?
Den bygger det officiella JavaScript SDK-fragment som Facebook dokumenterar för inbäddning – en div med klassen fb-post, fb-video eller fb-page plus sdk.js-loadern. När du placerar den på din sida med Facebook SDK ersätts diven av ett fullt renderat kort, en videospelare eller en sidtidslinje i en iframe från facebook.com. Verktyget hittar inte på egen markup – det sätter ihop exakt de attribut som Facebooks pluginkonfigurator skulle använda.
Vilka Facebook-länkar kan du bädda in och vilka avvisas?
Inlägg, foton och gruppinlägg går till fliken Inlägg, videor och reels till Video och sidor till sidplugin. Länkar på facebook.com med valfri underdomän som m.facebook.com samt de officiella kortdomänerna fb.watch och fb.me accepteras. Generatorn normaliserar spårningsparametrar och visningssuffix och visar den kanoniska formen. fb.watch-kortlänkar kan inte bäddas in direkt och behöver den fullständiga inläggs- eller video-URL:en, medan värdar som inte är Facebook och ofullständiga URL:er avvisas med ett eget meddelande.
Varför erbjuder generatorn bara JavaScript SDK-kod och ingen iframe?
SDK-koden är det format som Facebook underhåller för de tre plugintyperna och det enda som stöder språkval, automatisk storleksanpassning och hela uppsättningen visningsalternativ. En fristående iframe kan fortfarande renderas men tappar språkkontroll och det officiella storleksbeteendet. Att hålla en enda kodväg förenklar också diagnostiken – förhandsvisningen kör samma SDK som din sida kommer att använda.
Hur fungerar språkinställningen?
Ditt val skrivs in i sdk.js-loader-URL:en – till exempel https://connect.facebook.net/zh_TW/sdk.js för traditionell kinesiska. Facebook lokaliserar den omgivande ramen runt inbäddningen som tidsstämplar och åtgärdsetiketter till det språket, medan själva inläggstexten stannar som författaren skrev den. Förhandsvisningen laddar om SDK:t när du byter språk och standardvalet följer ditt Toollect-språk på webbplatsen, till exempel blir zh-hant zh_TW och zh-hans zh_CN.
Varför visar min sidplugin-förhandsvisning en varning eller förblir tom?
Verktyget kör Facebooks SDK i din webbläsare. Om SDK-skriptet inte kan laddas ner alls ser du varningen för annonsblockerare. Om iframen aldrig dyker upp inom 15 sekunder ser du timeoutvarningen – ofta ett privat inlägg, en ålders- eller landsbegränsning eller att författaren har stängt av inbäddning. Om iframen dyker upp men stannar på 0 eller under 70 pixlar i flera sekunder ser du varningen för personlig profil – sidplugin är gjort för sidor och personliga tidslinjer delar samma URL-former som sidor, så kontrollen kan bara ske efter rendering.
Hur skiljer sig detta från Facebook-URL-tolken på den här webbplatsen?
URL-tolken plockar isär vilken Facebook-länk som helst – typ, användarnamn, ID, sid-ID – tar bort dussintals spårningsparametrar och bygger rena kanoniska, inbäddnings- och delnings-URL:er. Den här generatorn arbetar åt andra hållet – den förvandlar en igenkänd länk till färdig SDK-markup att klistra in på din webbplats. Båda verktygen delar samma URL-grammatik, så en länk som tolken accepterar som inlägg, video eller sida är en länk som generatorn bäddar in, och en länk som generatorn avvisar förklaras av tolken.
ESC