使用Javascript数组检测媒体文件并返回所有URL
Detect media files using an array with Javascript and return all the urls
我正试图找到一种方法,使用Javascript提取任何网站上媒体文件的链接。我正在使用Unity3D,但它与使用uWebkit有关,uWebkit是一个Web浏览器插件,这个Web浏览器插件允许我将Javascript注入网站,所以这将(希望)成功。
目的是返回我希望脚本找到的所有媒体链接的URL列表(*.mp3、*.ogg、*.mp4、*.pdf等),然后我可以单击这些链接在一个单独的窗口中打开,在自定义视频播放器/音乐播放器/pdf阅读器等中只打开该文件。
我在这里、搜索引擎和GitHub上搜索过关于它的脚本或文档,但都没有成功。
附言:jQuery也不错。
基于Caleb的答案,我只想使用数据结构来存储您想要检查的文件类型,从而优化它的性能。
var extensions = {};
extensions["mp3"]=true;
extensions["mp4"]=true;
extensions["pdf"]=true;
/* etc */
var extPattern = /'.([0-9a-z]+)(?:['?#]|$)/i;
var links = [];
$('a').each(function(){
var href = $(this).attr('href');
if (typeof href !== 'undefined') {
var ext = href.match(extPattern)
if(ext!= null && ext.length >1) {
if(extensions[ext] != undefined) {
links.push(href);
}
}
}
});
快速而肮脏的jQuery版本可以点击页面上的所有标签,您可以从这个分支
var links = [];
$('a').each(function(){
var href = $(this).attr('href');
if (typeof href !== 'undefined') {
if (href.indexOf('mp3') > -1 || href.indexOf('ogg') > -1 || href.indexOf('mp4') > -1 || href.indexOf('pdf') > -1) {
links.push(href);
}
}
});
console.log(links);
相关文章:
- CKFinder 3为所选文件返回错误的URL
- Regex提取URL返回数组的一部分;未定义”;
- 如何解决“;错误所请求的URL返回500-内部服务器错误”;
- 多个if语句根据URL返回css值
- Angularjs - url params:单击时返回 url 中的角度变量
- 如果URL中有任何字符串变体匹配,则返回true
- 如果URL's链接返回错误
- 如何使用 Backbone 读取通过同一 REST URL 返回的两个不同对象
- 为什么当我点击<a>使用纯javascript;这个“;返回url,数组返回“url”;未定义”;
- Javascript 和 HTML - 在 html 代码中返回 url 地址
- Twitter typeahead 0.9.3 远程返回 URL 和 JSON 对象
- XML数据不返回URL
- 可以't覆盖Paypal“立即购买”按钮返回url
- Ajax:第一个Post很棒,第二个Post返回URL中的数据
- 使用CollectionFS从全局模板帮助器返回url
- 我如何使用window.location.hash返回url的一部分
- 如何操作regex从文本返回url数组
- 如何传递返回url
- 如何返回 URL 并使用 onchange 提交表单
- Jquery 函数返回 url 参数