2011-12-16 2 views
0

Мне нужно, чтобы обнаружить MP3 ссылки в пределах страницы с помощью JavaScript, и замените текст:Обнаружение и редактирование MP3 Ссылки

<embed type="application/x-shockwave-flash" 
src="http://www.google.com/reader/ui/3247397568-audio-player.swf? 
audioUrl=http://LINK" width="400" height="27" 
allowscriptaccess="never" quality="best" bgcolor="#ffffff" 
wmode="window" flashvars="playerMode=embedded" /> 

со значением URL в формате MP3 в?

Как бы я мог это сделать?

+4

Благодарим за обмен. Что за вопрос? – Dutchie432

ответ

1
[].map.call(document.links, function(v){ 

    if(v.href.indexOf(".mp3") === v.href.length - 4) { 
     return '<embed type="application/x-shockwave-flash" ' + 
      'src="http://www.google.com/reader/ui/3247397568-audio-player.swf?' + 
      'audioUrl='+encodeURIComponent(v.href)+' width="400" height="27" ' + 
      'allowscriptaccess="never" quality="best" bgcolor="#ffffff" ' + 
      'wmode="window" flashvars="playerMode=embedded" />'; 
    } 

    return ""; 

}).join(""); 

http://jsfiddle.net/e5DSU/2/

Следующие ссылки на странице:

<a href="/asd/asd/asd.mp3"></a> 
<a href="/asd/asd/asd.mp3"></a> 
<a href="/asd/asd/asd.mp3"></a> 

отдавания:

<embed type="application/x-shockwave-flash" src="http://www.google.com/reader/ui/3247397568-audio-player.swf?audioUrl=http%3A%2F%2Ffiddle.jshell.net%2Fasd%2Fasd%2Fasd.mp3 width="400" height="27" allowscriptaccess="never" quality="best" bgcolor="#ffffff" wmode="window" flashvars="playerMode=embedded" /> 
<embed type="application/x-shockwave-flash" src="http://www.google.com/reader/ui/3247397568-audio-player.swf?audioUrl=http%3A%2F%2Ffiddle.jshell.net%2Fasd%2Fasd%2Fasd.mp3 width="400" height="27" allowscriptaccess="never" quality="best" bgcolor="#ffffff" wmode="window" flashvars="playerMode=embedded" /> 
<embed type="application/x-shockwave-flash" src="http://www.google.com/reader/ui/3247397568-audio-player.swf?audioUrl=http%3A%2F%2Ffiddle.jshell.net%2Fasd%2Fasd%2Fasd.mp3 width="400" height="27" allowscriptaccess="never" quality="best" bgcolor="#ffffff" wmode="window" flashvars="playerMode=embedded" /> 
+0

Как я могу сделать это, чтобы он оставил ссылки в одиночку (или создает ссылку «Воспроизвести аудио») на мобильных браузерах. – JoshMWilliams

+0

Помогите, это не сработает ... любые идеи? – JoshMWilliams

0

http://jsfiddle.net/ZVzF6/

$('a').each(function(){ 
    var src=$(this).attr('href'); 
    var a = src.split('.'); 
    var ext = a[a.length-1]; 
    if (ext=='mp3'){ 

     var html = '<embed type="application/x-shockwave-flash"                   
        src="http://www.google.com/reader/ui/3247397568-audio-player.swf?audioUrl=' + encodeURIComponent(src) + '" 
        width="400" 
        height="27" allowscriptaccess="never" quality="best" 
        bgcolor="#ffffff" wmode="window" 
        flashvars="playerMode=embedded" />'; 

     $(html).insertAfter($(this)); 
     $(this).remove();  
    } 
}); 
+0

только FYI '.attr' извлекает атрибуты, которые не являются разрешенными URL-адресами. : '$ (" a "). eq (1) .attr (" href ")' = '"/users/995876/esailija "' vs '$ (" a "). get (1) .href' =' «http://stackoverflow.com/users/995876/esailija» ' – Esailija

+0

Как я могу сделать это, чтобы он оставил ссылки в одиночку (или создает ссылку« Воспроизвести аудио ») в мобильных браузерах. – JoshMWilliams

+0

Измените переменную html на HTML-код. хотите вставить. Если вы не хотите удалять ссылку, вытащите строку '$ (this) .remove();' – Dutchie432

Смежные вопросы