Started building out the plugin

This commit is contained in:
Joshua Sherman 2014-02-25 12:38:25 -05:00
parent 397184c7ad
commit cfdb083a81
2 changed files with 75 additions and 0 deletions

17
example.html Normal file
View file

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<title>jQuery SoundCloud Plugin</title>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="./jquery.soundcloud.js" charset="utf-8"></script>
<script>
$(function()
{
$('.soundcloud').soundcloud({ client_id: 'b0d6766e74d8b02f74459447c186b12e' });
});
</script>
</head>
<body>
<div class="soundcloud" data-url="https://soundcloud.com/joshtronic/baby-got-back/s-IGDdX" data-auto_play="true"></div>
</body>
</html>

58
jquery.soundcloud.js Normal file
View file

@ -0,0 +1,58 @@
(function($)
{
$.fn.soundcloud = function(options)
{
// Default settings
var defaults = {
client_id: false,
url: false,
callback: false,
maxwidth: '100%',
maxheight: false,
color: false,
auto_play: false,
show_comments: true,
iframe: false
};
// Overrides the defaults with passed in options
options = $.extend(defaults, options);
var protocol = document.location.protocol == 'https:' ? 'https://' : 'http://';
if (typeof SC === 'undefined')
{
// Adds the SoundCloud SDK
var script = document.createElement('script');
script.src = protocol + 'connect.soundcloud.com/sdk.js';
$('body').append(script);
}
return this.each(function()
{
try
{
// Overrides the options with the data attributes
options = $.extend(options, $(this).data());
// Checks that we have a client ID
if (!options.client_id)
{
throw 'Missing client ID.';
}
// SC.initialize({ client_id: options.client_id });
// var track_url = protocol + options.url;
// SC.oEmbed(track_url, { auto_play: true, maxheight: 166 }, function(oEmbed)
// {
// //'$(".soundcloud").eq(' + index + ').replaceWith(oEmbed.html.replace("https:", "http:"));',
// console.log(oEmbed);
// });
}
catch (error)
{
console.log('[jQuery.SoundCloud] [error] ' + error);
}
});
}
})(jQuery);