Doku zu NoScript-Surrogates gesucht

Gast #3570775
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren