Forum: PC Hard- und Software Doku zu NoScript-Surrogates gesucht


von lasiorhin (Gast)


Lesenswert?

'n Abend, werte Softwaregemeinde!

Eine Diskussion im EasyList-Forum
http://forums.lanik.us/viewtopic.php?f=90&t=12176
habe ich zum Anlass genommen, um die Funktion der NoScript-Surrogates 
genauer zu erkunden. Leider gibt es dazu keine echte Dokumentation - 
bisher hilfreich waren u.a.
http://hackademix.net/2011/09/29/script-surrogates-quick-reference/
http://stackoverflow.com/questions/942518/how-to-figure-out-what-site-to-add-to-cookie-whitelist

Als Beispiel habe ich den Link aus einem anderen Thread genommen:
xttp://www.myspass.de/myspass/shows/tvshows/tv-total/TV-total-Sendung-vo 
m-12022014--/16664/

Der in Firefox 24.3.0 integrierte Debugger liefert neben externen 
Scripts direkt für diese Seite
1
<script type="text/javascript">
2
var avtBlockerTracked=false;
3
function loadAVTBLOCK(w,u){
4
  function loadMySpassScripts(){
5
    var urls=new Array();
6
    urls[0]=new Array(0,'xttp://www.myspass.de/myspass/media/images/myspass-logo.png');
7
    urls[1]=new Array(1,'xttp://motifcdn2.doubleclick.net/EMEA/js/DCRM_Billboard.js');
8
    urls[2]=new Array(2,'xttp://doubleclick.net/pfadx/www.myspass.de_de/');
9
    for(i=0;i<urls.length;i++) {
10
      loadScript(urls[i][0],urls[i][1]);
11
    }
12
  }
13
14
  var returndata=new Array();
15
  returndata[1]=0;
16
  returndata[2]=0;
17
  var countReq=0;
18
19
  function loaded(num,status){
20
    returndata[num]=status;
21
    countReq++;
22
  }
23
24
  function finalCheck(){
25
    if(returndata[0]===1){
26
      if(returndata[1]===1&&returndata[2]===1){
27
        avtBlockerTracked=false;
28
        }
29
      else{
30
        avtBlockerTracked=true;
31
      }
32
     }
33
    else{
34
      avtBlockerTracked=false;
35
    }
36
    sendDataToVideoplayer();
37
  }
38
39
  loadMySpassScripts();
40
  setTimeout(function(){finalCheck();},30000);
41
42
  function checkLoad(event){
43
    loaded(event.currentTarget.id,1);
44
  }
45
46
  function ErrorLoad(event){
47
    loaded(event.currentTarget.id,0);
48
  }
49
50
  function loadScript(num,file){
51
    if(num==0){
52
      var image=new Image();
53
      $(image).attr('id',num);
54
      $(image).on('load',checkLoad).on('error',ErrorLoad);
55
      image.src=file;
56
      }
57
    else{
58
      var check='false';
59
      $.ajax({
60
        url:file,
61
        dataType:"script",
62
        processData:true,
63
        statusCode:{
64
          404:function(){
65
            check='false';
66
            loaded(num,1);
67
          }
68
        },
69
        complete:function(){
70
          loaded(num,1);
71
        }
72
      });
73
    }
74
  }
75
}
76
  
77
function sendDataToVideoplayer(){
78
  if(avtBlockerTracked){
79
    setFlashPlayerRequest("player","shownagscreen");
80
  }
81
}
82
83
function onVideoplayerInitialize(){
84
  loadAVTBLOCK(window);
85
}
86
</script>

Also hab ich's mit

noscript.surrogate.myspass.sources
 @myspass.de/myspass/shows/tvshows/tv-total/TV-total-Sendung-vom-12022014 
--/16664/

und

noscript.surrogate.myspass.replacement
a) function loadScript(num,file){if(num==0){var image=new 
Image();$(image).attr('id',num);$(image).on('load',checkLoad).on('error' 
,ErrorLoad);image.src=file;}else{var  check='false';loaded(num,1);}}
b) navigator.__defineGetter__("sendDataToVideoplayer",function(){});

in about:config versucht - funktioniert beides nicht.

Mein Eindruck ist, dass die Funktion überhaupt nicht 
ersetzt/angesprochen wird.

Kennt jemand eine Dokumentation, wo z.B.
  dieses "navigator.__defineGetter__",
  die Syntax von noscript.surrogate.xxx.sources (Regular Expressions?) 
oder
  die Funktion des noscript.surrogate.debug Flags (wo finde ich ein 
Log?)
beschrieben werden?

Die xttp sind von mir, wegen Spamschutz des Forums.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.