.



on-line?
? ?
Ru.Board » » » Opera Presto ( 26)

: gyra, Maz

   •
: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

     

gyra

Moderator
| | | |
| 25  Oep Presto || , v12 (Blink) - ec
Opera Presto 12.18 [15.02.2016]
Windows: x86 | x64 | Linux: x86/x64 | Mac OS X: x86/x64
--- / - ---
cao:
 - USB- [Stand-alone installation USB] ! ...
 - [All users on this computer] ...
 - [Current user] ...

:
  • (opera:config) | |
  • " " ( )
  • - "/"
  • | 12.15-16-17
  • YouTube

    Presto:
  • ////
  • ,
  • /
  • | Opera AC
  • forum.timsky.ru , Opera 12.15 [ ]
  • MyOpera.net |
  • OperaFan.net | ( -)
  • | | .

  • : 7123 | . 18-02-2006 | : 00:39 05-11-2017 | : Rwd, 12:28 07-10-2018
    raddyst

    Gold Member
    | | | |
    WatsonRus
    :
    , M$ , XP , 12.18 , XP?  

    , - .

    : 6685 | . 08-03-2010 | : 17:31 06-11-2017
    gyra

    Moderator
    | | | |
    WatsonRus
    raddyst
    .

    : 7123 | . 18-02-2006 | : 18:08 06-11-2017
    Ilya_SpongeBob

    Full Member
    | | | |
    9.29 12.18 .. https - -. 12.18 ? .. , .

    : 459 | . 16-02-2011 | : 19:05 06-11-2017
    YaZritelVANOMASA

    Junior Member
    | | | |
    web skype ?

    : 58 | . 23-08-2017 | : 19:16 06-11-2017
    VladDr

    Advanced Member
    | | | |
    adasiko, e a c ey "opoee" NT5.x.
     
    raddyst
    :
    ,

    oc o e ao . A ec ec, o pa o o ce.

    : 1539 | . 05-06-2010 | : 19:25 06-11-2017
    raddyst

    Gold Member
    | | | |
    VladDr
    :
    oc o e ao . A ec ec, o pa o o ce.

    , , . "" - ...

    : 6685 | . 08-03-2010 | : 19:38 06-11-2017
    VladDr

    Advanced Member
    | | | |

    :
    9.29 12.18 .. https - -.

    : poae a . px, oopoe e oepa v. o 12.18, peao peye ee pecypco o eo cooa pa a ae cepepo, a ooae. E o xoa yoyo 9-, ce o ye o peaoao oey ~10 e aa oep oca o oo e ao, e e oo..

    : 1539 | . 05-06-2010 | : 19:42 06-11-2017
    Alex_Qwerty

    Advanced Member
    | | | |
    Ilya_SpongeBob

    :
    // ==UserScript==
    // @include *
    // ==/UserScript==
     
    if(document.contentType.indexOf('image/')==0 && document.contentType.indexOf('svg')==-1) {
        window.donotrun=true;
     
        window.addEventListener('load', function(){
            if (!document.title) document.title = window.location.pathname.match(/([^\/]*)\/*$/)[1];
            var img = document.querySelector('img');
            if (img.naturalWidth && img.naturalHeight) document.title += ' (' + img.naturalWidth + '\xd7' + img.naturalHeight + ')';
        },false);
    }
     

    : 1637 | . 09-09-2006 | : 19:52 06-11-2017
    billibons

    Advanced Member
    | | | |
    Alex_Qwerty
    , , , ?

    : 1115 | . 15-12-2005 | : 20:48 06-11-2017
    Ilya_SpongeBob

    Full Member
    | | | |
    Alex_Qwerty , .. ...
     
    VladDr
    :
    : poae a . px, oopoe e oepa v. o 12.18, peao peye ee pecypco o eo cooa pa a ae cepepo
    , , 9.27? ECDHE, , -- , . -- , .

    : 459 | . 16-02-2011 | : 20:55 06-11-2017 | : Ilya_SpongeBob, 21:04 06-11-2017
    VladDr

    Advanced Member
    | | | |
    Ilya_SpongeBob
    :
    , 9.27?

    Bo e: oco c oo ECDSA c eca https o CloudFlare.

    : 1539 | . 05-06-2010 | : 21:24 06-11-2017
    MERCURY127



    Gold Member
    | | | |

    :
    ... - , .  
    , .
    ?

    : 8414 | . 03-08-2008 | : 21:29 06-11-2017 | : MERCURY127, 21:30 06-11-2017
    dansn

    Junior Member
    | | | |
    Youtube flash - . Youtube flash player_Decipher patched_v1.zip - , crossdomain.xml. FlashProxy5.zip - , . . winxp c flash18.

    : 61 | . 06-02-2008 | : 01:10 07-11-2017
    Rwd

    Full Member
    | | | |
    Fartman

    :
    : https://www.youtube.com/watch?v=8f2ZeHaAHvY   FlashProxy4.zip

    FlashProxy5 .

    : 456 | . 11-11-2016 | : 02:13 07-11-2017
    Alex_Qwerty

    Advanced Member
    | | | |

    :
     
    // ==UserScript==
    // @include *.youtube.com/*
    // @include *.youtube-nocookie.com/*
    // @include *.youtubeeducation.com/*
    // ==/UserScript==
    (function(opera){
     
    var ScriptName = 'youtube_fuck_html5.js';
    var Version = 13;
     
    var conf = {
     relatedVideos : false// click title if not works
    , blockPlayerBase : true
    , videoQuality : 'auto'// highres hd1440 hd1080 hd720 large medium small tiny auto
    , autoplay : 0// 0, 1
    , autoplayYT : 1// not in background; not in iframe
    , del43 : true// remove format 43 (webm 640x360); can help switching to 720
    , noSubtitles: true// they don't works
    , swf : 'https://s.ytimg.com/yts/swfbin/player-vfljf_kbO/watch_as3.swf'// dead
    , delCookies: false
    , addCookies: ''
    }
     
    /*
    Need something against crossdomain.xml and watch_as3.swf
     
    Filters for Proxomitron:
     
    [Patterns]
    Name = "youtube dash manifest fix"
    Active = TRUE
    URL = "manifest.googlevideo.com(:443|)/api/manifest/dash/"
    Limit = 256
    Match = "(<SegmentList>)\1(<SegmentURL media="\2")\3"
    Replace = "\1<Initialization sourceURL="\2"/>\3"
     
     
     
    [HTTP headers]
    In = FALSE
    Out = TRUE
    Key = "URL: youtube crossdomain.xml"
    URL = "([^/]++.|)(youtube(-nocookie|education|).com|ytimg.com|googlevideo.com)(:443|)/crossdomain.xml$RDIR(http://local.ptron/crossdomain.xml)"
     
    In = FALSE
    Out = TRUE
    Key = "URL: youtube watch_as3.swf"
    URL = "s.ytimg.com(:443|)/yts/swfbin/player-*watch_as3.swf$RDIR(http://local.ptron/watch_as3.swf)"
     
    In = FALSE
    Out = TRUE
    Key = "Accept-encoding: youtube no gzip, enable filtering"
    URL = "manifest.googlevideo.com(:443|)/$FILTER(True)"
     
     
     
    crossdomain.xml (put in Proxomitron\html\):
     
    <?xml version="1.0"?>
    <cross-domain-policy>
      <allow-access-from domain="*" />
    </cross-domain-policy>
     
    */
     
    var sts;
     
    document.createElement("video").constructor.prototype.canPlayType = function(type){return ""};// disable HTML5
     
    var showConf = true;
    function log(str){
    opera.postError(ScriptName +' v'+Version+(str?': '+str:'')+(showConf?'\nconf='+JSON.stringify(conf):''));
    showConf = false;
    }
     
    if (conf.delCookies) {
    var C, d, s, p, i, c, k = document.cookie;
    if (!k) { return}
    C = k.split('; ');
    for (d = '.' + location.host; d; d = ('' + d).substr(1).match(/\..*$/)) for (s = 0; s<2; ++s) for (p = '/' + location.pathname; p; p = p.substring(0, p.lastIndexOf('/'))) for (i in C) if ((c = C[i])) { document.cookie = c + '; domain=' + d.slice(s) + '; path=' + p.slice(1) + '/' + '; expires=' + new Date((new Date).getTime() - 1e11).toGMTString()}
    for (d = '.' + location.host; d; d = ('' + d).substr(1).match(/\..*$/)) for (s = 0; s<2; ++s) for (p = '/' + location.pathname; p; p = p.substring(0, p.lastIndexOf('/'))) for (i in C) if ((c = C[i])) {document.cookie = c + '; domain=' + d.slice(s) + '; path=' + p.slice(1) + '/' + '; expires=' + new Date((new Date).getTime() - 1e11).toGMTString()}
    }
     
    if (conf.addCookies) {
    var C = conf.delCookies.split(';');
    var domain = (''+location.hostname).replace(/^www(\.[^.]+\.[^.]+)/,'$1');
    for (var i=0,c; c=C[i];i++){
    var tmp = c.match(/^([^=]+)=(.*)$/);
    if (tmp) {
    var cname = tmp[1].trim(), cvalue = tmp[2].trim();
    this.delCookie(cname);
    this.delCookie(cname);
    this.setCookie(cname, cvalue, 'Tue, 15-Jan-2030 03:14:07 GMT', '/');
    }
    }
    }
     
    //opera.postError(ScriptName);
    opera.addEventListener("BeforeScript",function(e){
    if (e.element.src.match(/\/yts\/jsbin\/player-.*?\/base.js/)) {
    sts = e.element.text.match(/[{,]sts:(\d+)[},]/);
    sts=sts&&sts[1];
    if (sts) {
    log('player: '+e.element.src+'\nsts='+sts+'\nUA='+navigator.userAgent);
    if (conf.blockPlayerBase) {
    if (window.canBlockPlayerBase) {
    var decf = e.element.text.match(/=function\(a\){(a=a.split\(""\)[^}]*?;return a.join\(""\))};/);
    decf = decf && decf[1];
    var deco = decf && decf.match(/([\w$_]+)\.[\w$_]+\(a,\d+\);/);
    deco = deco && e.element.text.match(new RegExp('var '+deco[1]+'={[\\w$_]+:function\\(a[\\s\\S]*?};'))
    deco = deco && deco[0];
    if (decf && deco) {
    decodeSignature = new Function('a', deco+decf);
    e.preventDefault();
    log('blocked player base.js: '+e.element.src);
    } else {
    log("error: can't get decoder from player base.js")
    }
    } else {
    log('blockPlayerBase requires blockYoutubeScripts in youtube_fix.js');
    }
    } else {
    e.element.text = e.element.text.replace('=function(a){a=a.split("")','=decodeSignature=function(a){a=a.split("")');
                    }
    }
    }
    },false);
     
    function xhr(url, method, post, xml, headers){
    var x = new XMLHttpRequest();
    x.open(method || 'GET', url, false);
    if (headers) for (var i=0; i<headers.length; i++) x.setRequestHeader(headers[i][0], headers[i][1]);
    x.send(post);
    return xml?x.responseXML:x.responseText;
    }
     
    function splitKV(str) {
    var o = {};
    var tmp;
    var re = /([\da-z_]+)=([^&]*)/gi;
    while ( (tmp = re.exec(str))!==null ) { o[tmp[1]] = decodeURIComponent(tmp[2].replace(/\+/g,' '));}
    return o;
    }
     
    function concatKV(obj){
    var tmp = [];
    for (var n in obj) tmp.push(n+'='+encodeURIComponent(obj[n]).replace(/,/g,'%2C') );
    return tmp.join('&');
    }
     
    var onceFix = true;
    function fix(str){
    var tmp = str.split(',');
    for (var i=tmp.length-1; i>=0; i--) {
    var obj = splitKV(tmp[i]);
    if (conf.del43 && obj.itag==43) {
    tmp.splice(i,1);// del
    log('removed format 43')
    } else if (obj.s) {
    if (!window.decodeSignature) {
    if (onceFix) onceFix = log('error: no decodeSignature()')
    return str;
    } else {
    obj.url += '&signature='+decodeSignature(obj.s);
    delete obj.s;
    tmp[i] = concatKV(obj);
    }
    }
    }
    return tmp.join(',');
    }
     
    function del(obj,arr){ for (var d in arr) delete obj[arr[d]]; }
    function set(obj,arr){ for (var d in arr) obj[d]=arr[d]; }
     
     
    if (location.pathname.indexOf('/embed/')==0 || location.pathname=='/watch' && window==window.top) document.addEventListener('DOMContentLoaded',function(){
    var errMsg = document.querySelector('#unavailable-message');
    var div;
    var selectors = ['div.html5-video-player', 'div#player-api', 'div#player'];
    for (var i=0,s; s=selectors[i]; i++) if (div = document.querySelector(s)) break;
    if (!div) {
    log('player div not found');
    } else {
    log('found div:'+(div.id?' id="'+div.id+'"':'') + (div.className?' class="'+div.className+'"':''));
    if (!sts) log('warning: sts from /player-./base.js not found! Check content blocker.');
    div.classList.remove('off-screen-target');
    div.innerHTML = '<br><br>'+ScriptName;
    var u = document.querySelector('div#player-unavailable');
    if (u) u.parentNode.removeChild(u);
    var id = (''+location).match(/\/embed\/([\da-z_-]{11})/i) || (''+location).match(/[&?]v=([\da-z_-]{11})/i);
    id = id&&id[1];
    if (!id) {
    div.innerHTML += ' - no video id';
    return log('no video id');
    }
    var bg = 'https://i.ytimg.com/vi/'+id+'/hqdefault.jpg';
    var info, infoLength;
    function gvi(data) {
    var url = '/get_video_info?html5=1&asv=3&ps=default'+(sts?'&sts='+sts:'')+'&video_id='+id+(data||'');
    info = xhr(url);
    if (info.indexOf('status=')==-1) info = xhr(url);// second try
    infoLength = info.length;
    info = splitKV(info);
    }
    gvi();
    if (info && info.errorcode=='150') gvi('&eurl=http://www.google.com/');
    if (info && info.errorcode=='150') {
    var err = info.reason || errMsg && errMsg.innerHTML || 'ytplayer.config parsing error';
    var page = location.pathname=='/watch' ? document.body.innerHTML : xhr('/watch?v='+id);
    info = page.match(/ytplayer\.config = ({.*?});/);
    if (info) info = JSON.parse(info[1]);
    info = info && info.args;
    if (!info) {
    div.innerHTML = '<br><br>' + err;
    return log(err);
    }
    info.status = info.status || info.video_id && 'ok' || 'ytplayer.config parsing error 2' ;
     
    }
    //alert(JSON.stringify(info,null,'\t'));
    if (info.status!='ok') {
    div.innerHTML = '<br><br>'+info.reason;
    return log('reason: '+info.reason);
    }
    log(JSON.stringify({cbr:info.cbr, cbrver:info.cbrver, cbrand:info.cbrand, infoLength:infoLength}));
    if (!conf.relatedVideos) delete info.rvs;
    del (info, ['ppv_remarketing_url','remarketing_url', 'allowed_ads', 'survey_smartpixel_url']);
    del(info, ['player_response']);// for some videos
    if (conf.noSubtitles) {
    del(info, ['ttsurl','caption_tracks','caption_audio_tracks', 'cc_asr', 'cc3_module', 'caption_translation_languages', 'cc_font']);
    info.has_cc = 'False';
    } else {
    var tmp = JSON.parse(info.player_response||'{}');
    //alert(JSON.stringify(tmp,null,'\t'));
    if (tmp.captions) {
    tmp = tmp.captions.playerCaptionsTracklistRenderer.captionTracks
    }
     
    }
    if (conf.del43 && info.fmt_list) info.fmt_list = info.fmt_list.replace('43/640x360,','');
    if (conf.videoQuality) info.vq = conf.videoQuality;
    if (conf.autoplay!==undefined) info.autoplay=conf.autoplay;
    if (conf.autoplayYT!==undefined && !document.hidden && window==window.top) info.autoplay=conf.autoplayYT;
    if (info.url_encoded_fmt_stream_map) info.url_encoded_fmt_stream_map = fix(info.url_encoded_fmt_stream_map);
    if (info.adaptive_fmts) info.adaptive_fmts = fix(info.adaptive_fmts);
    if (info.dashmpd) info.dashmpd = info.dashmpd.replace(/\/s\/([\dA-F.]+)/,function(a,s){return '/signature/'+decodeSignature(s)});
    set(info, {no_stats:1, allow_embed:1, no_get_video_log:1, rmkt:0, rtl:0, ad3_module:0, ad_preroll:0, enable_cardio:0
    , enable_cardio_before_playback:0, advideo:0, skl:1});
    info = concatKV(info);
    div.innerHTML = '<embed src="'+conf.swf+'" flashvars="'+info+'" style="background: url('+bg+') center no-repeat" type="application/x-shockwave-flash" width=100% height=100% allowfullscreen="true" allowscriptaccess="always" bgcolor="#000000">'
    } // !div
    },false);
     
    })(opera)
     

     
     
     

    :
     
    // ==UserScript==
    // @include *//youtube.com/*
    // @include *.youtube.com/*
    // @include *//youtube-nocookie.com/*
    // @include *.youtube-nocookie.com/*
    // @include *//youtubeeducation.com/*
    // @include *.youtubeeducation.com/*
     
    // @exclude http://tparser.org/*
    // ==/UserScript==
     
    if ( document.contentType=='text/html' || (''+location).match(/[/.]youtube(-nocookie|education|).com\/v\//) ) (function(opera){
     
        var ScriptName = 'youtube_fix.js v11';
     
        var conf = {
              fixObjects : true        // object -> iframe
            , fixInsertedObjects : {
                  enabled: true        // may break sites; use whitelist or // @exclude *
                , blacklist : ['translate.yandex.ru']     // [] - works anywhere; ['tparser.org']
                , whitelist : []     // [] - works anywhere; ['3dnews.ru', 'livejournal.com']
            }
            , blockYoutubeScripts : true    // except player base.js
            , loadComments : true            // don't expect too much; with enabed blockYoutubeScripts
            , addLinksInEmbeds : true
            , loadThumbnails : true
        }
     
        var showConf = true;
        function log(str){
            opera.postError(ScriptName+(str?': '+str:'')+(showConf?'\nconf='+JSON.stringify(conf):''));
            showConf = false;
        }
     
        function findHost(hosts, host){
            var flag = -1;
            while (flag==-1 && host) {
                flag = hosts.indexOf(host);
                host = host.replace(/^[^.]*\.?/,'');
            }
            return flag;
        }
        var youtubeHosts = ['youtube.com','youtube-nocookie.com','youtubeeducation.com'];
     
        function create(el, cn, ih){var tmp=document.createElement(el); if(cn)tmp.className=cn; tmp.innerHTML=ih||''; return tmp; }
     
        function xhr(url, method, post, xml, headers){
            var x = new XMLHttpRequest();
            x.open(method || 'GET', url, false);
            if (headers) for (var i=0; i<headers.length; i++) x.setRequestHeader(headers[i][0], headers[i][1]);
            x.send(post);
            return xml?x.responseXML:x.responseText;
        }
     
        var isYoutube = findHost(youtubeHosts, location.hostname)!=-1;
     
        var v = isYoutube && location.pathname.match(/^\/v\/([\da-z_-]{11})/i);
        if (v) {
            stop();
            log('redirecting to /embed/');
            location = '/embed/'+v[1];
        }
     
        if (conf.blockYoutubeScripts && isYoutube) {
            var once = true;
            window.canBlockPlayerBase = true;
            var needPlayerBase = true;
            var func = function(){};
            requestAnimationFrame = func;
            writeEmbed = func;
            writeLightweightEmbed = func;
            spf = {script:{path:func, declare:func}};
            ytcsi = {info: func, tick:func};
            yt = {config_:{}, pushConfigArray:func, setMsg:func}
     
            yt.setConfig = function(o,v){
                if (v) { yt.config_[o]=v } else {for (var k in o) yt.config_[k]=o[k]}
                if (needPlayerBase && o && o.PLAYER_CONFIG && o.PLAYER_CONFIG.assets && o.PLAYER_CONFIG.assets.js) {
                    var s = document.createElement('script');
                    s.src = o.PLAYER_CONFIG.assets.js;
                    document.body.appendChild(s);
                    log('inserted player base.js: '+s.src);
                    needPlayerBase = false;
                }
            }
     
            opera.addEventListener("BeforeExternalScript",function(e){
                if (e.element.src.match(/\/yts\/jsbin\/player-.*?\/base.js/)) {
                    needPlayerBase = false;
                } else {
                    e.preventDefault();
                    if (once) once = log('blocking youtube scripts...');
                }
            },false);
        }
     
        document.addEventListener('DOMContentLoaded',function(){
     
            var tmp = document.querySelectorAll('a[href*="youtube.com/edit?"]');
            for (var i=0,a; a=tmp[i]; i++) {
                var id = a.href.match(/[?&]video_id=([\da-z_-]{11})/i);
                if (id) a.href = 'https://www.youtube.com/watch?v='+id[1];
            }
     
            if (conf.fixObjects) {
     
                function fixObjects(embeds) {
                    for (var i=0,e,o; e=embeds[i]; i++){
                        o=e.parentNode.tagName.toLowerCase()=='object'? e.parentNode : e;
                        var vid = o.outerHTML.match(/youtube(?:education|-nocookie|)\.com\/v\/([\da-z_-]{11})/i);
                        if (vid=vid&&vid[1]) {
                            var iframe = document.createElement('iframe');
                            var width = o.width || o.style.width || '640px';
                            var height = o.height || o.style.height || '480px';
                            if (!/[a-zA-Z%]+$/.test(width)) width +='px';
                            if (!/[a-zA-Z%]+$/.test(height)) height +='px';
                            //iframe.style = "width: "+width+" !important ; height: "+height + ' !important';
                            iframe.style = "width: "+width+"; height: "+height;
                            if (o.className) iframe.className = o.className;
                            if (o.id) iframe.id = o.id;
                            iframe.src = 'https://www.youtube.com/embed/'+vid; // youtube-nocookie.com not always works
                            o.parentNode.insertBefore(iframe, o);
                            o.parentNode.removeChild(o);
                            log('replaced object in html: '+vid);
                        }
                    }
                }
                fixObjects(document.querySelectorAll('object'));
                fixObjects(document.querySelectorAll('embed'));
     
                var fixInsertedObjectsEnabled = (conf.fixInsertedObjects && conf.fixInsertedObjects.enabled) && !isYoutube
                    && (window != window.top ? document.body.innerHTML.length>0 : true) // scriptweeder iframe
                    && (!conf.fixInsertedObjects.whitelist || (!conf.fixInsertedObjects.whitelist.length || findHost(conf.fixInsertedObjects.whitelist, location.hostname)!=-1) )
                    && (!conf.fixInsertedObjects.blacklist || (!conf.fixInsertedObjects.blacklist.length || findHost(conf.fixInsertedObjects.blacklist, location.hostname)==-1) );
                if (fixInsertedObjectsEnabled) {
                    log('warning: fixInsertedObjects may break sites');
                    document.addEventListener('DOMNodeInserted', function(e){
                        if (e.target.innerHTML && /youtube(education|-nocookie|)\.com\/v\//.test(e.target.innerHTML)) {
                            log('DOMNodeInserted');
                            var tmp = e.target.outerHTML.replace(/<object[\s\S]*?youtube(?:education|-nocookie|)\.com\/v\/([\da-z_-]{11})[\s\S]*?<\/object>/ig, function(o,id){
                                var tmp = o.match(/^<object[\s\S]*?>/i)[0];
                                var width = tmp.match(/width\s*[:=]\s*(\d\w*)/);
                                width = width&&width[1] || '640px';
                                var height = tmp.match(/height\s*[:=]\s*(\d\w*)/);
                                height = height&&height[1] || '480px';
                                if (!/[a-zA-Z%]+$/.test(width)) width +='px';
                                if (!/[a-zA-Z%]+$/.test(height)) height +='px';
                                return '<iframe src="https://www.youtube.com/embed/'+id+'" style="width: '+width+' !important; height: '+height+' !important"></iframe>';
                            });
                            if (e.target.outerHTML!= tmp) e.target.outerHTML = tmp;
                        }
                    }, false);
                }
            }
     
            if (isYoutube && conf.loadThumbnails) {
                var pics = document.querySelectorAll('img[data-thumb]');
                for (var i=0; i<pics.length; i++) pics[i].src = pics[i].getAttribute('data-thumb');
            }
     
     
            if (conf.loadComments && conf.blockYoutubeScripts && isYoutube && location.pathname=='/watch' && window==window.top) {
                var tmp = document.querySelector('#watch-discussion');
                if (!tmp) {
                    log('no #watch-discussion');
                } else {
                    tmp.style.display='none';
                    var comments = create('div', 'crutch-comments-container');
                    comments.appendChild(create('div', 'crutch-comments-total', 'comments disabled ?'))
                    tmp.parentNode.insertBefore(comments, tmp);
                    var headers = [['Content-Type', 'application/x-www-form-urlencoded']];
                    var c = xhr('/comment_service_ajax?action_get_comments=1&pbj=1&ctoken='+window.yt.config_.COMMENTS_TOKEN, 'POST'
                        , 'session_token='+encodeURIComponent(window.yt.config_.XSRF_TOKEN), false, headers);
                    if (c.indexOf('{')!=-1) {
                        c = JSON.parse(c);
    //alert(JSON.stringify(c,null,'\t'));
    //alert(c.content_html);
                        comments.innerHTML = c.content_html;
                        log('comments');
                    }
                }
            }
     
            if (conf.blockYoutubeScripts && isYoutube && location.pathname=='/watch' && window==window.top) {
                var s = document.createElement('style');
                s.appendChild(document.createTextNode('#watch-description + .yt-uix-expander-collapsed-body {display:none !important} .yt-uix-expander-collapsed #watch-description-text {max-height: 100% !important}'));
                document.body.appendChild(s);
            }
     
            var id = window.yt && yt.config_ && yt.config_.VIDEO_ID;
            if (conf.addLinksInEmbeds && !location.pathname.indexOf('/embed/') && id) {
                var pics = id && window.yt.config_.PLAYER_CONFIG.args || {};
                var img = pics.iurlmaxres || pics.iurlhq720 || pics.iurlsd || pics.iurl || 'http://i.ytimg.com/vi/'+id+'/hqdefault.jpg';
                var span = document.createElement('span');
                span.innerHTML = '&nbsp;<a href="http://www.youtube.com/watch?v='+id+'" target="_blank">link</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="'+img+'" target="_blank">img</a>';
                span.style='position:absolute; top:0; left:0; background:white';
                document.body.appendChild(span);
            }
     
            // load more videos
            if (conf.blockYoutubeScripts && isYoutube) {
                var more = document.querySelector('button[data-uix-load-more-href]');
                if (more) {
                    more.onclick = function(){
                        var next = this.getAttribute('data-uix-load-more-href');
                        var targetid = this.getAttribute('data-uix-load-more-target-id');
                        if (next) {
                            var tmp = xhr(next);
                            tmp = JSON.parse(tmp);
                            document.getElementById(targetid).insertAdjacentHTML('beforeend', tmp.content_html);
                            if (tmp.load_more_widget_html) {
                                next = tmp.load_more_widget_html.match(/data-uix-load-more-href="([^"]+)/);
                                if (next) this.setAttribute('data-uix-load-more-href', next[1]);
                            } else {
                                this.parentNode.removeChild(this);
                            }
                        }
                    }
                }
            }
     
            // first video in channel
            var upsell = document.querySelector('#upsell-video');
            if (upsell) {
                id = upsell.getAttribute('data-video-id');
                if (id) upsell.innerHTML = '<a href="/watch?v='+id+'"><img src="https://i.ytimg.com/vi/'+id+'/mqdefault.jpg"></a>';
            }
     
        },false);
     
    })(opera)
     


    : 1637 | . 09-09-2006 | : 09:23 07-11-2017 | : Alex_Qwerty, 09:34 12-10-2018
    freeman440

    Silver Member
    | | | |
    Alex_Qwerty
    ,
     
    :
    Rwd
    :
    FlashProxy5 .

    : 2187 | . 17-09-2008 | : 10:53 07-11-2017
    kianID



    Member
    | | | |
    freeman440: (10:53 07-11-2017)
    :

    . .
     
     Rwd: (02:13 07-11-2017)
    :
    FlashProxy5 .

    , - , .

    : 207 | . 04-01-2012 | : 11:17 07-11-2017
    Rwd

    Full Member
    | | | |
    freeman440
    kianID
    . , :   - , - ?

    : 456 | . 11-11-2016 | : 11:56 07-11-2017
    kianID



    Member
    | | | |
    Rwd: (11:56 07-11-2017)
    , , ?

    : 207 | . 04-01-2012 | : 11:59 07-11-2017
    Rwd

    Full Member
    | | | |
    kianID
    . - , , .
     
    :

    : 456 | . 11-11-2016 | : 12:02 07-11-2017
         

    : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

    Ru.Board » » » Opera Presto ( 26)

    :
    :


    , .


    e-mail

    ?



    Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2018

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    .ru