влияют на мета-тег или ссылку с помощью jquery? - PullRequest
0 голосов
/ 10 марта 2011

сначала короткое объяснение ... следующие две строки гарантируют, что после публикации моего сайта в Facebook будет опубликовано пользовательское изображение (share-thumbnail.png).

<meta property="og:image" content="images/share-thumbnail.png"/>
<link rel="image_src" href="<images/share-thumbnail.png" />

Ребята, можете ли вы придумать какой-нибудь творческий способ переписать такое поведение, когда я нажимаю на ссылку для обмена на моей странице?

например. У меня есть <a class="special-sharing" href="#">Share with special image</a> якорь на моей странице, и когда по нему щелкают, я не хочу использовать share-thumbnail.png, определенный в моем заголовке.

Я думал о том, чтобы использовать jquery для прослушивания событий щелчка по ссылке .special-share, а затем… protectDefault (); и изменить, например, содержание атрибута моего метатега в голове к новому изображению src. Тогда позвони в фейсбук? Sharer = blabla.

Как бы вы решили это?

1 Ответ

1 голос
/ 10 марта 2011

(Предостережение: я не знаком с API Facebook, только с Javascript и сетью в целом.)

К сожалению, вы не можете.

Хотяс помощью jQuery можно воздействовать на теги <meta> и <link> (или Javascript в целом), невозможно вносить изменения вне загруженной в данный момент копии страницы в браузере пользователя.Когда вызывается ссылка на Facebook, текущая страница удаляется и загружается страница Facebook, которая затем выполняет на своей странице собственное нажатие, чтобы получить og:image, который по-прежнему будет иметь исходное значение, посколькуфайл на сервере не изменился.

Вместо этого вы, возможно, могли бы настроить свой сервер так, чтобы вы могли настроить изображение через URL.Например, пусть http://www.example.com/mypage.php выдаст значение по умолчанию для og:image, а http://www.example.com/mypage.php?special-image=foo.gif изменит значение тега <meta>.Затем вы можете использовать Javascript, чтобы изменить разделитель, передаваемый Facebook, чтобы он использовал специальный URL-адрес, который указывает на специальное изображение.

...