jquery.media.js是一個(gè)非常方便的媒體播放插件,可以在網(wǎng)頁中輕松添加各種媒體,比如視頻、音頻等。但是,在一些情況下,需要對插件的使用做一些限制,特別是限制用戶下載媒體資源。
為了實(shí)現(xiàn)對下載的限制,可以對jquery.media.js的代碼進(jìn)行一些修改。具體的實(shí)現(xiàn)方式可以通過在插件代碼中添加一些特殊的邏輯,比如對請求頭進(jìn)行判斷,或者使用一些特殊的文件格式。
$.extend(true, $.media, { setupPlayer: function(player) { var $player = $(player), url = $player.attr('src'), ext = url.split('.').pop().toLowerCase(), canPlay = Ext.audio.indexOf(ext) !== -1 || Ext.video.indexOf(ext) !== -1; if (canPlay) { return; } // 下載限制的實(shí)現(xiàn)代碼 $player.after($('').attr({ href: url, target: '_blank' }).html('下載文件')); $player.remove(); } });
在上面的代碼中,首先獲取到媒體資源的url,并通過文件后綴名判斷是否為視頻或者音頻文件,如果是則不進(jìn)行任何限制,直接播放。如果不是,則進(jìn)行一些特殊的處理,添加一個(gè)下載鏈接,否則就移除這個(gè)媒體資源。
這樣就可以比較簡單地實(shí)現(xiàn)對jquery.media.js的下載限制了。需要注意的是,這種方式并不能避免一些高級的下載方式,比如抓包下載等,但是可以在一定程度上減少普通用戶的非法下載行為。