Welke programmeertaal is dit?

Status
Niet open voor verdere reacties.

bjornbos

Gebruiker
Lid geworden
1 feb 2009
Berichten
446
Hallo allemaal,

Ik vroeg mij af welke programmeertaal dit is. Het is een youtube video download programma en ik wil hem graag gebruiken voor op mijn website. Hoe kan ik dit precies doen?

Met vriendelijke groeten,

Björn Bos

CODE:

Code:
// ==UserScript==
// @name           Youtube Downloader
// @namespace      http://creazy.net/
// @description    Add downloadable links in Youtube Page
// @include        http://*youtube.com/watch*
// ==/UserScript==

//&fmt=22: HD   /MP4/H.264/AAC : 22/2000000/9/0/115
//&fmt=35: HQ   /FLV/H.264/AAC : 35/640000/9/0/115
//&fmt=18: iPod /MP4/H.264/AAC : 18/512000/9/0/115
//Normal : LQ   /FLV/H.263/MP3

(function() {

    var d = document;
    var h = '';
    var w = (typeof(unsafeWindow) != 'undefined') ? unsafeWindow : window;
    var l = location;
    var s = w.yt.config_.SWF_ARGS;
    var u = 'http://'+l.host+'/get_video' + '?video_id='+s['video_id'] + '&t=' + s['t'];
    
    if( !d.getElementById('DL-YT-video') && (location.href.match(/http:\/\/[a-zA-Z\.]*youtube\.com\/watch/)) ) {
        // Create Links Block
        d.getElementById('watch-embed-div').innerHTML
            += '<div id="DL-YT-video">'
            +  '<div id="check_fmt_22">checking fmt=22</div>'
            +  '<div id="check_fmt_35">checking fmt=35</div>'
            +  '<div><a href="'+makeDownloadURL(18)+'">[OK] DL fmt=18 ( iPod /MP4/H.264/AAC)</a></div>'
            +  '<div><a href="'+u+'">[OK] DL normal ( LQ /FLV/H.263/MP3)</a></div>'
            +  '</div>';
        checkHD();
        checkHQ();
    }

    /**
     * create XmlHttpRequest
     */
    function createXHR() {
        if ( w.ActiveXObject ) {
            try {
                return new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    return new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e2) {
                    return null;
                }
            }
        } else if ( w.XMLHttpRequest ) {
            return new XMLHttpRequest();
        } else {
            return null;
        }
    }

    /**
     * check HD(fmt=22)
     */
    function checkHD() {
        var url = 'http://'+location.host+'/watch' + '?v='+s['video_id'];
        var XHR = createXHR();
        XHR.testurl = url;
        XHR.open( 'GET', url, true );
        XHR.onreadystatechange = function() { 
            if (XHR.readyState==4) {
                if ( match = XHR.responseText.match(/'SWF_ARGS': ({.*})/) ) {
                    var block = d.getElementById('check_fmt_22');
                    block.innerHTML = '';
                    var json = eval('('+RegExp.$1+')');
                    var map = decodeURIComponent(json['fmt_url_map']);
                    if ( map.indexOf('22|') > -1 ) {
                        block.innerHTML
                            += '<a href="'+makeDownloadURL(22)+'">[OK] DL fmt=22 ( HD /MP4/H.264/AAC)</a>';
                    } else {
                        block.innerHTML
                            += '[NG] DL fmt=22 ( HD /MP4/H.264/AAC)';
                    }
                }
            }
        }
        XHR.send('');
    }

    /**
     * check HQ(fmt=35)
     */
    function checkHQ() {
        var url = 'http://'+location.host+'/watch' + '?fmt=35&v='+s['video_id'];
        var XHR = createXHR();
        XHR.testurl = url;
        XHR.open( 'GET', url, true );
        XHR.onreadystatechange = function() { 
            if (XHR.readyState==4) {
                if ( match = XHR.responseText.match(/'SWF_ARGS': ({.*})/) ) {
                    var block = d.getElementById('check_fmt_35');
                    block.innerHTML = '';
                    var json = eval('('+RegExp.$1+')');
                    var map = decodeURIComponent(json['fmt_url_map']);
                    if ( map.indexOf('35|') > -1 ) {
                        block.innerHTML
                            += '<a href="'+makeDownloadURL(35)+'">[OK] DL fmt=35 ( HQ /FLV/H.264/AAC)</a>';
                    } else {
                        block.innerHTML
                            += '[NG] DL fmt=35 ( HQ /FLV/H.264/AAC)';
                    }
                }
            }
        }
        XHR.send('');
    }

    /**
     * Make Download URL
     */
    function makeDownloadURL(num) {
        return u+'&fmt='+num;
    }

})();
 
Eh, nee. Dit is geen XML; dit is Javascript. Specifieker, dit is een zgn. UserScript; zie sites als deze.

Het is dus een script dat je in je browser gebruikt, niet in een site.



XmlHttpRequest is een manier om XML data te laden via Javascript.
 
En hoe zou ik die code eventueel kunnen gebruiken voor in mijn website? Als dat niet kan, kent iemand anders dan een code die ik daarvoor kan gebruiken?
 
Ik vermoed door de code in een .js file te zetten en standaard te includen op je website, maar dat zou je even moeten proberen.
 
Eh, ik denk dat dat niet gaat lukken. Wat het script namelijk doet is runnen op youtube.com:
[js]var url = 'http://'+location.host+'/watch' + '?v='+s['video_id'];[/js]Je zou wel dit stuk kunnen aanpassen door de link te hard-coden.
 
je kan het draaien op je eigen website door het script aan te passen waardoor je zelf een url in moet geven.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan