Frage

Wenn ein Benutzer versucht, eine Seite mit einem eingebetteten Video zu teilen, wird nur der Titel der Seiten auf seinem Facebook -Status und nicht auf dem Flash -Videoplayer angezeigt. Dies geschieht beim Teilen mit der addthis -Schaltfläche oder wenn die URL direkt auf der Facebook -Seite veröffentlicht wird. Gibt es eine Idee, wie ich Facebook zum eingebetteten Flash -Video abholen kann?

War es hilfreich?

Lösung

Das hängt wirklich davon ab, wie das Video in die Seite eingebettet ist. Facebook kann nur mit bestimmten Formaten handhaben und wenn es etwas sieht, das es nicht erwartet, ist es standardmäßig zu einem fehlgezogenen "Nichts" -Standard.

Wenn das eingebettete Video gut anerkannter Standard ist (dh YouTube Standard-Player), sollte es gut funktionieren. Wenn es sich jedoch um Ihr eigener selbst gehosteter Videoplayer handelt, wird dies nicht funktionieren. Facebook wird die Flash -Objekte anderer Leute auf ihrer Website nicht einbetten.


Aktualisieren Sie 11/18

Facebook, so intelligent es auch ist, braucht noch eine beträchtliche Menge an Hilfe, um zu bestimmen, welche Inhalte auf der Seite leben. Es kann schnell kratzen <img /> Tags, um Ihnen Seiten -Miniaturansichten zu geben, aber es scannt nicht nach <object>s oder <embed>s Weil dies alles sein könnte, von einem YouTube -Video (das Sie auf Facebook teilen möchten) bis zu einer aufdringlichen Flash -Anwendung (von dem Facebook auf seiner Website nicht möchte).

Um die Sache zu vereinfachen, verwendet YouTube tatsächlich eine bestimmte Facebook -Anwendung, mit der Sie Videos teilen können, die automatisch in Facebook eingebettet werden. Neben der direkten Verknüpfung mit dieser Anwendung enthält jede YouTube -Videoseite zusätzliche Meta -Informationen in seinem Header, mit denen Facebook das Video aufkratzen und in die Seite einbettet. Hier ist ein Beispiel aus dem Video, mit dem Sie früher verlinkt haben:

<meta property="fb:app_id" content="87741124305" />
<meta property="og:title" content="Cubed: Manny Pacquiao&amp;#39;s Punchout" />
<meta property="og:description" content="Manny Pacquiao is training hard for his upcoming fight with Miguel Cotto, but you might be surprised how he got to the top.  Check out this clip." />
<meta property="og:type" content="video" />
<meta property="og:url" content="http://www.youtube.com/watch?v=IvCCuuuJhd4" />
<meta property="og:image" content="http://i2.ytimg.com/vi/IvCCuuuJhd4/default.jpg" />
<meta property="og:site_name" content="YouTube" />

Die verknüpfte Anwendung ist die YouTube -Anwendung auf Facebook. Hier finden Sie auch einige spezifische Informationen, die hier enthalten sind: Titel, Beschreibung, Typ, URL, Bild, Site_Name. All dies hilft Facebook, herauszufinden, was zu tun ist, wenn Sie die Seite an Ihre Freunde und Ihr Netzwerk "teilen".

Die addthis -Schaltfläche fügt Ihrem Header keine dieser Informationen hinzu. Es kann nicht wirklich, weil es erstellt wurde, um eine einfache Freigabe von Seiten zu ermöglichen, und nicht die Freigabe für Video -Websites wie YouTube.

Wie ich bereits sagte, hängt es "davon ab, wie das Video in die Seite eingebettet ist." Facebook kann nur Videos in bestimmten Formaten verarbeiten, die auf bestimmte Weise markiert sind und von bestimmten Websites/Anwendungen stammen.

Um die eingebettete Videofunktion zu replizieren, die YouTube hat, müssen Sie:

  • Erstellen Sie Ihre eigene Facebook -App, um Dinge zu betreiben
  • Fügen Sie Ihrem Header dieselbe Art von Meta -Informationen hinzu

Wenn Sie möchten (und ich würde dies empfehlen), wäre die einfachere Route, die nur das zu kratzen <meta> Tags YouTube verwendet. Wenn Sie also ein Video hinzufügen, verwenden Sie dieselbe YouTube -App -ID, die gleiche <meta> Eigenschaften und Sie sollte Sei gut zu gehen.

Andere Tipps

Aktualisieren Um nur die Meta -Tags mit dem Eigenschaftsattribut zu extrahieren, habe ich Folgendes zusammengestellt:

  <?php 

ini_set('display_errors', false); 
$page = "http://www.youtube.com...(the video ID)"; 
$page_data = file_get_contents($page); 

$doc=new DOMDocument();
$doc->loadHTML($page_data);
$xml=simplexml_import_dom($doc);
$meta=$xml->xpath('//meta');
foreach ($meta as $met) 
{
 if ($met['property'] != '')
 {
     echo '<meta property="'.$met['property'] . '" content="' . $met['content']."\">\n";
 }
}
ini_set('display_errors', true); 

?>

Ich weiß, dass es ein bisschen hackig ist, aber es funktioniert. Ich denke, ich werde dies mit einem der URL -Video -Einbettungs -Plugins verwenden und die Meta -Informationen im Kopf der Vorlage festlegen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top