Кнопка Tweet и информационное окно - PullRequest
2 голосов
/ 21 марта 2012

Я хочу интегрировать кнопку Tweet в информационное окно Google Maps v3 (infoBox), но у меня нет успеха. Конечно, скрипт, который я использую, работает на простой странице. Я установил js в твиттере в своем файле шаблона, добавил привязку к переменной html в файле gavps javascript: ... чирикать ...

Теперь можно увидеть только текст «Tweet», если я наведу курсор мыши на ссылку привязки, а графическая кнопка Tweet не видна. Если я нажму на эту кнопку, сайт Twitter загрузится, но ничего не поделится.

С помощью кнопки «Мне нравится» в Facebook мне пришлось реализовать строку кода, чтобы запустить событие «domready».

Как это сделать в Твиттере?

Ответы [ 2 ]

1 голос
/ 21 марта 2012

У меня та же проблема, но я все ближе к ее решению.

Я предполагаю, что вы используете стандартные примеры Twitter , где вы добавляете тег <a>, например:

<a href="https://twitter.com/share" class="twitter-share-button" 
data-lang="en">Tweet</a>

А потом нужно получить свой JavaScript для загрузки:

<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];
if(!d.getElementById(id)){js=d.createElement(s);js.id=id;
js.src="//platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js,fjs);
}}(document,"script","twitter-wjs");</script>

Таким образом, проблема, вероятно, в том, что информационное окно не подключается к DOM .

Класс InfoWindow API Google Maps V3 * имеет событие "domready".

Так что, если вы используете jQuery , как я, вам нужно сделать что-то вроде:

google.maps.event.addListener(bubble, 'domready', function(event) {
        !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];
        if(!d.getElementById(id)){js=d.createElement(s);js.id=id;
        js.src="//platform.twitter.com/widgets.js";
        fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
});

Имея в виду, что у меня это еще не получилось:)

Давайте разберемся с этой присоской!

0 голосов
/ 29 апреля 2015

Просто измените информационный блок для любого объекта с именем InfoWindow, ответ gyaresu будет в порядке, но он будет работать только один раз.

google.maps.event.addListener(infobox, 'domready', function(event) {
    FB.XFBML.parse();
    twttr.widgets.load();
});
...