Rozbité scrollování + hijack schránky, jak fixnout v ublocku

stevans

Jak na stránce  zakážu manipulaci se schránkou?

z: https://www.extra.cz/temp/js-5cf400a0b7c1.js?b72895c5afd092195cabb39d01cecc27
:
Kód: [Vybrat]
    function movingAdInit() {
        var offsetFirstAd = $("#movingAdRight").length > 0 ? $("#movingAdRight").offset().top : null;
        var bannerWidth = 0;
        if ($("#movingAdRight").length > 0)
            bannerWidth = $("#movingAdRight").width();
        $(window).scroll(function() {
            if ($('#_SeznamOptBanner_smr').length)
                var fstBann = $('#_SeznamOptBanner_smr').height() + 5;
            else
                var fstBann = 0;
            console.log("first banner height -> " + fstBann);
            var scrollTop = $(window).scrollTop();
            if (scrollTop >= (offsetFirstAd + fstBann)) {
                $("#movingAdRight").css("position", "fixed");
                $("#movingAdRight").css("top", "0");
                $(".movingRightHide").hide();
                if (bannerWidth)
                    $("#movingAdRight").css("width", bannerWidth + "px");
            } else {
                $("#movingAdRight").removeAttr('style');
                $(".movingRightHide").show();
            }
     
  function addLink() {
        var body_element = document.getElementsByTagName('body')[0];
        var selection;
        selection = window.getSelection();
        if (selection.toString().length > 50) {
            var pagelink = "<br /><br />Zdroj: <a href='" + document.location.href + "'>" + document.location.href + "</a>";
            var copytext = selection + pagelink;
            var newdiv = document.createElement('div');
            newdiv.style.position = 'absolute';
            newdiv.style.left = '-99999px';
            body_element.appendChild(newdiv);
            newdiv.innerHTML = copytext;
            selection.selectAllChildren(newdiv);
            window.setTimeout(function() {
                body_element.removeChild(newdiv);
            }, 0);
        }
    }
    document.oncopy = addLink;


Stará opera aspoň uměla opera.defineMagicfunction,

Zkoušel jsem
||extra.cz##script:inject(abort-on-property-read.js, document.oncopy)
www.extra.cz##script:inject(abort-on-property-write.js, getSelection)

extra.cz##script:inject(abort-on-property-read.js, scroll)
www.extra.cz##script:inject(abort-on-property-read.js, scrollTop)



Je chyba v syntaxi? Podporuje chrome tenhle zápis a funkcionalitu ublocku? Není ublock třeba nějak vadný, že když vypnu inline scripty(na zkoušku), že přestane chodit i inject?


Bude něco fungovat z kuchařky?

Jak to definitivně vyřešit? jak to vyřešit, abych nemusel pro každý web, web psát zvlášť (protože pravidla script:inject nelze psát globálně, musí mít definovanou doménu )

vypnout inline scripty je až nejzažší řešení, protože pak nejde fotogalerie (mají napraseou fotogalerii přes JS .  :-\ ) ,  takže zatím musím při návštěvě stránky vypnou js (jedním tlačítkem ublock), před kliknutím odkaz ghalerie opět zapnou, jak čamrda
« Poslední změna: 13. 08. 2018, 14:57:40 od Petr Krčmář »