Несмотря на то, что на запрос ВКонтакте мне ответили отрицательно:
Здравствуйте, Пётр!
Простите за долгое ожидание.
К сожалению, на данный момент реализацию Вашей идеи никак не осуществить. Разработчики пообещали сделать, чтобы обсервер принимал параметр page_id.
Команда ВК.
Но я нашел способ. На данный момент - 18.02.2017 - VK Observer при событии лайка возвращает не один (как указано в документации), два параметра: likes_num и vk_widget_num.
VK.Observer.subscribe("widgets.like.liked", function f(likes_num,vk_widget_num) {
/* ... */
});
Первый параметр likes_num содержит количество лайков у текущего виджета. Все как положено.
Второй параметр vk_widget_num содержит число уже загружнных виджетов на странице (виджет "Мне нравится", "Комментарии", "Это интересно" и т.д.). Другими словами VK вторым параметром передает вам какой по счету (начиная с 1) этот виджет будет на странице.
=====
Решение задачи
Для начала добавим дополнительный атрибут к HTML тегам:
<div id="widget_1" class="like_widget" data-widget-number="1"></div>
<script>VK.Widgets.Like("widget_1", {type: "vertical", pageURL: 'url_1'}, 1);</script>
<div id="widget_1" class="like_widget" data-widget-number="2"></div>
<script>VK.Widgets.Like("widget_2", {type: "vertical", pageURL: 'url_2'}, 2);</script>
Теперь регистрируем наш обработчик события "widgets.like.liked":
VK.Observer.subscribe("widgets.like.liked", function f(likes_num,vk_widget_num)
{
var widget_id = $('.like_widget[data-widget-number=' + vk_widget_num + ']').attr('id');
alert ("Вы лайкнули! Был нажат виджет с ID: " + widget_id + ". Количество лайков: " + likes_num);
});