Почему эти кнопки общего доступа не работают в Firefox?

У меня есть набор кнопок обмена, которые работают в Safari, Chrome и Opera, но не в Firefox. Они просто открывают новое пустое окно в Firefox, с чего бы это?

<script type="text/javascript">
function fbCurrentPage()
{window.open("https://www.facebook.com/sharer/sharer.php?u="+escape(window.location.href)+"&t="+document.title, '', 
'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');}
function twitterCurrentPage()
{window.open("https://twitter.com/share?u="+escape(window.location.href)+"&t="+document.title, '', 
'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');}
function gplusCurrentPage()
{window.open("https://plus.google.com/share?url="+escape(window.location.href)+"&t="+document.title, '', 
'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=605,width=400');}
</script>

<div class="social">
<a href="javascript:fbCurrentPage()" class="facebook">Facebook</a>
<a href="javascript:twitterCurrentPage()" class="twitter">Twitter</a>
<a href="javascript:gplusCurrentPage()" class="gplus">Google+</a>
</div> 

1 ответ

Решение

Firefox запутывается target="_blank" приписывать. Firefox открывает новую вкладку с about:blank URL и пытается выполнить одну из функций, например fbCurrentPage во вновь открытой вкладке, но функция не существует в "пустом" документе.

Просто удалите target атрибут из ссылок. Это не нужно, так как функции используют window.open который открывает новое окно.

Кстати, ваш код недопустим с точки зрения спецификации HTML 5. У вас есть кнопки внутри ссылок. a элементы в спецификации не могут содержать интерактивный контент.

Другие вопросы по тегам