Не работает. Uncaught ReferenceError: VK is not defined
1.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
</head>
<body>
<div id='vk_like'></div>
<script type='text/javascript'>VK.Widgets.Like('vk_like', {type: 'button', height: 20});</script>
<div id="vk_api_transport"></div>
<script type="text/javascript">
window.vkAsyncInit = function() {
VK.init({
apiId: 4127611
});
};
setTimeout(function() {
var el = document.createElement("script");
el.type = "text/javascript";
el.src = "//vk.com/js/api/openapi.js";
el.async = true;
document.getElementById("vk_api_transport").appendChild(el);
}, 0);
</script>
</body>
</html>
2.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<script defer async type="text/javascript" src="http://vk.com/js/api/openapi.js?105"></script>
<script type='text/javascript'>VK.init({apiId: 4127611, onlyWidgets: true})</script>
</head>
<body>
<div id='vk_like'></div>
<script type='text/javascript'>VK.Widgets.Like('vk_like', {type: 'button', height: 20});</script>
</body>
</html>
3. И этот пример не работает. Во всех примерах библа подгружается позже чем идет вызов метода счетчика из нее! И все из-за defer! Но он нужен для ускорения загрузки контента!
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<script src="http://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
<script defer type="text/javascript" src="http://vk.com/js/api/openapi.js?105"></script>
<script type='text/javascript'>VK.init({apiId: 4127611, onlyWidgets: true})</script>
</head>
<body>
<div id='vk_like'></div>
<script type='text/javascript'>
$(document).ready(function(){
VK.Widgets.Like('vk_like', {type: 'button', height: 20});
})
</script>
</body>
</html>