Два onclick в одной ссылке не работают

ripnostos

Создатель
Регистрация
18 Ноя 2007
Сообщения
45
Реакции
4
Очень нужна помощь. Хочу добавить для ссылки событие в Яндекс.Метрике, чтобы при нажатии на нее фиксировалась цель. В качестве цели выбрано Добавить в избранное. Вот как это реализовал я:

Код:
<a href="http://url/" onclick="yaCounter1XXXXXX5.reachGoal('nazvanie-sobytiya'); return true;" onclick="window.external.AddFavorite('http://url/', 'Название страницы'); return false;" rel="sidebar">В Избранное</a>

Пытался компилировать из кодов как в помощи Яндекса по Метрике: Для просмотра ссылки Войди или Зарегистрируйся И собственно добавления в избранное. В итоге цель в Метрике фиксируется, а вот добавление в избранное как-то коряво добавляет, в частности пропадает Название сайта. Как можно переделать код, чтобы срабатывали оба условия?

Пока нашел, что может из-за того, что два return, но я чайник в этом деле, а как можно закрыть, если там параметры разные?

Плиз для полного чайника.
 

ZOLK

Постоялец
Регистрация
13 Сен 2011
Сообщения
185
Реакции
111
Это харкор конечно )), но может так:
Код:
<script>
function forclick(){
Function1();
Function2();
}

function Function1() {
    yaCounter1XXXXXX5.reachGoal('nazvanie-sobytiya');
    return true;
}
function Function2() {
    window.external.AddFavorite('http://url/', 'Название страницы');
    return false;
}
</script>
<a href="http://url/" onclick="forclick()" rel="sidebar">В Избранное</a>
 
Последнее редактирование:

ripnostos

Создатель
Регистрация
18 Ноя 2007
Сообщения
45
Реакции
4
Это харкор конечно )), но может так:
Код:
<script>
function forclick(){
Function1();
Function2();
}

function Function1() {
    yaCounter1XXXXXX5.reachGoal('nazvanie-sobytiya');
    return true;
}
function Function2() {
    window.external.AddFavorite('http://url/', 'Название страницы');
    return false;
}
</script>
<a href="http://url/" onclick="forclick()" rel="sidebar">В Избранное</a>

Спасибо. Первый ваш вариант (до этого который тут был) мне не подошел. А можно, чтобы поменьше скриптов?
 

ZOLK

Постоялец
Регистрация
13 Сен 2011
Сообщения
185
Реакции
111
Спасибо. Первый ваш вариант (до этого который тут был) мне не подошел. А можно, чтобы поменьше скриптов?
Можно так еще попробовать, добавит в избранное для эксплорера и фокса. Опять же без JavaScript не обойтись.

Код:
<a href="http://url/" onclick="yaCounter1XXXXXX5.reachGoal('nazvanie-sobytiya'); AddToFavorites(); return true;" rel="sidebar">В Избранное</a>

<script type="text/javascript">
        function AddToFavorites() {
            if (window.sidebar) {        // Firefox
                window.sidebar.addPanel('http://url/', 'Название страницы', '');
            }
            else {
                if (window.external && ('AddFavorite' in window.external)) {
                        // Internet Explorer
                    window.external.AddFavorite('http://url/', 'Название страницы');
                }
                else {  // Opera, Google Chrome and Safari
                    alert ("Your browser doesn't support this example!");
                }
            }
        }
</script>
 

ripnostos

Создатель
Регистрация
18 Ноя 2007
Сообщения
45
Реакции
4
Просто мой самый верхний пример в Опере все же добавляется сайт в избранное правда без названия, просто урл. Может это как-то в примерах ниже обыграть можно, типа универсального кода?
 

ZOLK

Постоялец
Регистрация
13 Сен 2011
Сообщения
185
Реакции
111
Просто мой самый верхний пример в Опере все же добавляется сайт в избранное правда без названия, просто урл. Может это как-то в примерах ниже обыграть можно, типа универсального кода?

Вот рабочий, в хроме напишет нажмите ctrl+d что бы добавить в избранное, в опере тоже работает

Код:
<a href="#" onclick="add_favorite(); yaCounter1XXXXXX5.reachGoal('nazvanie-sobytiya'); return true;" rel="sidebar">В Избранное</a>

<script type="text/javascript">
// Добавить в Избранное
function add_favorite(a) {
  title=document.title;
  url=document.location;
  try {
    // Internet Explorer
    window.external.AddFavorite(url, title);
  }
  catch (e) {
    try {
      // Mozilla
      window.sidebar.addPanel(title, url, "");
    }
    catch (e) {
      // Opera
      if (typeof(opera)=="object") {
        a.rel="sidebar";
        a.title=title;
        a.url=url;
        return true;
      }
      else {
        // Unknown
        alert('Нажмите Ctrl-D чтобы добавить страницу в закладки');
      }
    }
  }
  return false;
}
</script>
 

ripnostos

Создатель
Регистрация
18 Ноя 2007
Сообщения
45
Реакции
4
Спасибо. Вот по последнему коду вопрос. Я так понял он фиксирует текущие урл и тайтл страницы, которые добавляются в закладки. А если в качестве урла я хочу взять определенный урл своего сайта (пусть для примера будет Для просмотра ссылки Войди или Зарегистрируйся) и определенный заголовок (пусть будет для примера: Название страницы). Как тогда нужно модифицировать искомый код?
 

ZOLK

Постоялец
Регистрация
13 Сен 2011
Сообщения
185
Реакции
111
Спасибо. Вот по последнему коду вопрос. Я так понял он фиксирует текущие урл и тайтл страницы, которые добавляются в закладки. А если в качестве урла я хочу взять определенный урл своего сайта (пусть для примера будет Для просмотра ссылки Войди или Зарегистрируйся) и определенный заголовок (пусть будет для примера: Название страницы). Как тогда нужно модифицировать искомый код?

Название задается в title, url в href=""
Код:
<a href="http://url/" onclick="add_favorite(); yaCounter1XXXXXX5.reachGoal('nazvanie-sobytiya'); return true;" title="Название" rel="sidebar">В Избранное</a>
 

ripnostos

Создатель
Регистрация
18 Ноя 2007
Сообщения
45
Реакции
4
Хорошо попробую как оно получится. Спасибо за помощь.
 
Сверху