OLD | NEW |
1 { | 1 { |
2 "title": { | 2 "title": { |
3 "message": "FAQ - Onder de motorkap van Adblock Plus" | 3 "message": "FAQ - Onder de motorkap van Adblock Plus" |
4 }, | 4 }, |
5 "s1": { | 5 "s1": { |
6 "message": "Waar zijn alle Adblock Plus voorkeuren beschreven?" | 6 "message": "Waar zijn alle Adblock Plus voorkeuren beschreven?" |
7 }, | 7 }, |
8 "s2": { | 8 "s2": { |
9 "message": "Adblock Plus gebruikt een aantal voorkeuren die u via" | 9 "message": "Adblock Plus gebruikt een aantal voorkeuren die u via <a>about:c
onfig</a> kunt benaderen. Ze beginnen allemaal met" |
10 }, | 10 }, |
11 "s3": { | 11 "s3": { |
12 "message": "http://kb.mozillazine.org/About:config" | 12 "message": "extensions.adblockplus." |
13 }, | 13 }, |
14 "s4": { | 14 "s4": { |
15 "message": "about:config" | 15 "message": "(dit wijkt af van Adblock en Ablock Plus 0.5 wat het voorvoegsel
" |
16 }, | 16 }, |
17 "s5": { | 17 "s5": { |
18 "message": "kunt benaderen. Ze beginnen allemaal met" | 18 "message": "adblock." |
19 }, | 19 }, |
20 "s6": { | 20 "s6": { |
21 "message": "extensions.adblockplus." | 21 "message": "gebruikt). Een volledige lijst met uitleg kunt u <a>hier</a> vin
den." |
22 }, | 22 }, |
23 "s7": { | 23 "s7": { |
24 "message": "(dit wijkt af van Adblock en Ablock Plus 0.5 wat het voorvoegsel
" | 24 "message": "Hoe benader ik Adblock Plus vanuit mijn extensie?" |
25 }, | 25 }, |
26 "s8": { | 26 "s8": { |
27 "message": "adblock." | 27 "message": "Om het mogelijk te maken voor andere extensies om met de Adblock
Plus interface samen te werken, wordt" |
28 }, | 28 }, |
29 "s9": { | 29 "s9": { |
30 "message": "gebruikt). Een volledige lijst met uitleg kunt u <a>hier</a> vin
den." | 30 "message": "IAdblockPlus" |
31 }, | 31 }, |
32 "s10": { | 32 "s10": { |
33 "message": "Hoe benader ik Adblock Plus vanuit mijn extensie?" | 33 "message": "geƫxporteerd. Bekijk de <a>interface beschrijving</a> voor nader
e details." |
34 }, | 34 }, |
35 "s11": { | 35 "s11": { |
36 "message": "Om het mogelijk te maken voor andere extensies om met de Adblock
Plus interface samen te werken, wordt" | 36 "message": "Hoe blokkeert Adblock Plus adressen?" |
37 }, | 37 }, |
38 "s12": { | 38 "s12": { |
39 "message": "IAdblockPlus" | 39 "message": "Het moeilijke werk wordt hier eigenlijk door Gecko gedaan, de mo
tor waar bovenop Firefox, Thunderbird en andere applicaties gebouwd zijn. Het st
aat iets toe genaamd \"inhoudsbeleiden\". Een inhoudsbeleid is simpelweg een Jav
aScript (of C++) object dat elke keer aangeroepen wordt als de browser iets moet
doen. Het kan het adres dat geladen moet worden bekijken en nog wat extra gegev
ens en beslissen of het moet worden toegestaan of niet. Er is een aantal ingebou
wde inhoudsbeleiden (als je definieert welke sites geen afbeeldingen mogen laden
in Firefox of SeaMonkey, configureer je eigenlijk een van deze interne inhoudsb
eleiden) en iedere extensie kan er een registreren. Dus get enige wat Adblock Pl
us hoeft te doen is zijn inhoudsbeleid registreren, behalve dat is er alleen de
applicatielogica om te beslissen welke adressen geblokkeerd moeten worden en de
code voor de gebruikersinterface om het instellen van filters mogelijk te maken.
" |
40 }, | 40 }, |
41 "s13": { | 41 "s13": { |
42 "message": "geƫxporteerd. Bekijk de <a>interface beschrijving</a> voor nader
e details." | 42 "message": "Voor ontwikkelaars: om een inhoudsbeleid te registreren moet u <
a>XPCOM component schrijven</a> die de <a>nsIContentPolicy interface implementee
rt.</a>Let er op dat je de module's registerSelf methode aanpast om je component
in de \"inhoudsbeleid\" categorie te registreren (gebruik hier de <a>category m
anager</a> voor). Dat is alles, uw component's shoudLoad methode wordt aangeroep
en en u kunt beslissen of dit specifieke verzoek gehonoreerd moet worden of niet
." |
43 }, | 43 }, |
44 "s14": { | 44 "s14": { |
45 "message": "Hoe blokkeert Adblock Plus adressen?" | 45 "message": "Hoe verwerkt Adblock Plus zijn filters en welke filters zijn sne
ller?" |
46 }, | 46 }, |
47 "s15": { | 47 "s15": { |
48 "message": "Het moeilijke werk wordt hier eigenlijk door Gecko gedaan, de mo
tor waar bovenop Firefox, Thunderbird en andere applicaties gebouwd zijn. Het st
aat iets toe genaamd \"inhoudsbeleiden\". Een inhoudsbeleid is simpelweg een Jav
aScript (of C++) object dat elke keer aangeroepen wordt als de browser iets moet
doen. Het kan het adres dat geladen moet worden bekijken en nog wat extra gegev
ens en beslissen of het moet worden toegestaan of niet. Er is een aantal ingebou
wde inhoudsbeleiden (als je definieert welke sites geen afbeeldingen mogen laden
in Firefox of SeaMonkey, configureer je eigenlijk een van deze interne inhoudsb
eleiden) en iedere extensie kan er een registreren. Dus get enige wat Adblock Pl
us hoeft te doen is zijn inhoudsbeleid registreren, behalve dat is er alleen de
applicatielogica om te beslissen welke adressen geblokkeerd moeten worden en de
code voor de gebruikersinterface om het instellen van filters mogelijk te maken.
" | 48 "message": "Alle filters worden intern in <a>reguliere expressies</a> vertaa
ld, zelfs degenen die niet zo zijn opgegeven. Bijvoorbeeld het filter" |
49 }, | 49 }, |
50 "s16": { | 50 "s16": { |
51 "message": "Voor ontwikkelaars: om een inhoudsbeleid te registreren moet u" | 51 "message": "ad*banner.gif|" |
52 }, | 52 }, |
53 "s17": { | 53 "s17": { |
54 "message": "http://developer.mozilla.org/en/docs/How_to_Build_an_XPCOM_Compo
nent_in_Javascript" | 54 "message": "wordt vertaald in de reguliere expressie" |
55 }, | 55 }, |
56 "s18": { | 56 "s18": { |
57 "message": "XPCOM component schrijven" | 57 "message": "/ad.*banner\\.gif$/" |
58 }, | 58 }, |
59 "s19": { | 59 "s19": { |
60 "message": "die de" | 60 "message": ". Als Adblock Plus echter een adres krijgt dat met alle filters
vergeleken moet worden, dan test het niet simpelweg alle filters een voor een --
dat zou het browsen onnodig vertragen." |
61 }, | 61 }, |
62 "s20": { | 62 "s20": { |
63 "message": "http://www.xulplanet.com/references/xpcomref/ifaces/nsIContentPo
licy.html" | 63 "message": "Naast het vertalen van filters in reguliere expressies probeert
Adblock Plus er ook informatie uit te halen. Het heeft een unieke string van ach
t karakters nodig (een \"snelkoppeling\") die in elk adres wat met het filter ov
ereenkomt aanwezig moet zijn (de lengte is arbitrair, acht leek hier gewoon rede
lijk te zijn). Als u bijvoorbeeld een filter" |
64 }, | 64 }, |
65 "s21": { | 65 "s21": { |
66 "message": "nsIContentPolicy interface implementeert." | 66 "message": "|http://ad.*" |
67 }, | 67 }, |
68 "s22": { | 68 "s22": { |
69 "message": "Let er op dat je de module's registerSelf methode aanpast om je
component in de \"inhoudsbeleid\" categorie te registreren (gebruik hier de" | 69 "message": "heeft, dan heeft Adblock Plus de keuze tussen \"http://a\", \"tt
p://ad\" en \"tp://ad.\", al deze strings zullen altijd aanwezig zijn, wat er ma
ar overeen mag komen met dit filter. Helaas is het vinden van een snelkoppeling
voor filters die minder dan acht karakters ononderbroken door wildcards hebben o
f voor filters die als reguliere expressies zijn opgegeven onmogelijk." |
70 }, | 70 }, |
71 "s23": { | 71 "s23": { |
72 "message": "http://www.xulplanet.com/references/xpcomref/ifaces/nsICategoryM
anager.html" | 72 "message": "Alle snelkoppelingen worden in een opzoektabel geplaatst, Adbloc
k Plus kan het filter erg efficiƫnt vinden aan de hand van zjin snelkoppeling. D
an, als een specifiek adres getest moet worden, zal Adblock Plus eerst bij beken
de snelkoppelingen kijken (dit gebeurt erg snel, de tijd die hiervoor nodig is i
s haast onafhankelijk van het aantal snelkoppelingen). Alleen als er een snelkop
peling wordt gevonden wordt de string vergeleken met de reguliere expressie van
het overeenkomende filter. Alleen filters zonder snelkoppeling moeten een voor e
en getest worden, wat langzaam is." |
73 }, | 73 }, |
74 "s24": { | 74 "s24": { |
75 "message": "category manager" | 75 "message": "Samengevat: welke filters moet u gebruiken om een filterlijst sn
el te maken? U moet zo min mogelijk reguliere expressies als mogelijk gebruiken,
deze zijn altijd langzaam. U moet er ook voor zorgen dat de eenvoudige filters
op zijn minst acht karakters onafgebroken tekst hebben (dit betekent dat ze geen
karakters met een bijzondere betekenins moeten bevatten, zoals *), anders zulle
n ze net zo langzaam zijn als reguliere expressies. Maar met filters die aan de
eisen voldoen maakt het niet uit hoeveel filters je hebt, de verwerkignstijd is
altijd gelijk. Dat betekent dat als je 20 eenvoudige filters nodig hebt om een r
eguliere expressie te vervangen het nog steeds de moeite waard is. Nu we het er
toch over hebben -- de <a>deregifier</a> is van harte aan te bevelen." |
76 }, | 76 }, |
77 "s25": { | 77 "s25": { |
78 "message": "voor). Dat is alles, uw component's shoudLoad methode wordt aang
eroepen en u kunt beslissen of dit specifieke verzoek gehonoreerd moet worden of
niet." | 78 "message": "Het filtermatchingalgoritme in detail" |
79 }, | 79 }, |
80 "s26": { | 80 "s26": { |
81 "message": "Hoe verwerkt Adblock Plus zijn filters en welke filters zijn sne
ller?" | 81 "message": "Hoe werkt het verbergen van elementen?" |
82 }, | 82 }, |
83 "s27": { | 83 "s27": { |
84 "message": "Alle filters worden intern in <a>reguliere expressies</a> vertaa
ld, zelfs degenen die niet zo zijn opgegeven. Bijvoorbeeld het filter" | 84 "message": "Element verbergende regels worden vertaald in <a>CSS</a> en toeg
epast op alle webpagina's die de gebruiker bezoekt. Een regel als" |
85 }, | 85 }, |
86 "s28": { | 86 "s28": { |
87 "message": "ad*banner.gif|" | 87 "message": "example.com#div(evil_ad)" |
88 }, | 88 }, |
89 "s29": { | 89 "s29": { |
90 "message": "wordt vertaald in de reguliere expressie" | 90 "message": "ziet er dan zo uit:" |
91 }, | 91 }, |
92 "s30": { | 92 "s30": { |
93 "message": "/ad.*banner\\.gif$/" | 93 "message": "@-moz-document is een voorgestelde uitbreiding op de CSS standaa
rd, u kunt hier meer over lezen in het <a>Mozilla Developer Center</a>." |
94 }, | 94 }, |
95 "s31": { | 95 "s31": { |
96 "message": ". Als Adblock Plus echter een adres krijgt dat met alle filters
vergeleken moet worden, dan test het niet simpelweg alle filters een voor een --
dat zou het browsen onnodig vertragen." | 96 "message": "Regels die niet beperkt zijn to een bepaald domein zullen worden
beperkt door de protocollen http:// en https:// om te voorkomen dat ze elemente
n van de browser's interface verbergen (het gebruikt het chrome:// protocol sche
ma). Bijvoorbeeld de regel" |
97 }, | 97 }, |
98 "s32": { | 98 "s32": { |
99 "message": "Naast het vertalen van filters in reguliere expressies probeert
Adblock Plus er ook informatie uit te halen. Het heeft een unieke string van ach
t karakters nodig (een \"snelkoppeling\") die in elk adres wat met het filter ov
ereenkomt aanwezig moet zijn (de lengte is arbitrair, acht leek hier gewoon rede
lijk te zijn). Als u bijvoorbeeld een filter" | 99 "message": "#div(evil_ad)" |
100 }, | 100 }, |
101 "s33": { | 101 "s33": { |
102 "message": "|http://ad.*" | 102 "message": "wordt vertaald in:" |
103 }, | 103 }, |
104 "s34": { | 104 "s34": { |
105 "message": "heeft, dan heeft Adblock Plus de keuze tussen \"http://a\", \"tt
p://ad\" en \"tp://ad.\", al deze strings zullen altijd aanwezig zijn, wat er ma
ar overeen mag komen met dit filter. Helaas is het vinden van een snelkoppeling
voor filters die minder dan acht karakters ononderbroken door wildcards hebben o
f voor filters die als reguliere expressies zijn opgegeven onmogelijk." | 105 "message": "Voor ontwikkelaars: Adblock Plus gebruikt hier de <a>stylesheet
service</a>. Deze interface is nieuw voor Gecko 1.8 en staat extensies toe om us
er stylesheets dynamisch toe te voegen (daarvoor kon je alleen userContent.css w
ijzigen, wat een herstart van de browser vereiste). User stylesheets zullen CSS
code van alle websites overschrijven, zij heben het hoogste <a>belang</a>." |
106 }, | 106 }, |
107 "s35": { | 107 "s35": { |
108 "message": "Alle snelkoppelingen worden in een opzoektabel geplaatst, Adbloc
k Plus kan het filter erg efficiƫnt vinden aan de hand van zjin snelkoppeling. D
an, als een specifiek adres getest moet worden, zal Adblock Plus eerst bij beken
de snelkoppelingen kijken (dit gebeurt erg snel, de tijd die hiervoor nodig is i
s haast onafhankelijk van het aantal snelkoppelingen). Alleen als er een snelkop
peling wordt gevonden wordt de string vergeleken met de reguliere expressie van
het overeenkomende filter. Alleen filters zonder snelkoppeling moeten een voor e
en getest worden, wat langzaam is." | 108 "message": "Hoe ziet de eerste regel van een filter bestand er uit?" |
109 }, | 109 }, |
110 "s36": { | 110 "s36": { |
111 "message": "Samengevat: welke filters moet u gebruiken om een filterlijst sn
el te maken? U moet zo min mogelijk reguliere expressies als mogelijk gebruiken,
deze zijn altijd langzaam. U moet er ook voor zorgen dat de eenvoudige filters
op zijn minst acht karakters onafgebroken tekst hebben (dit betekent dat ze geen
karakters met een bijzondere betekenins moeten bevatten, zoals *), anders zulle
n ze net zo langzaam zijn als reguliere expressies. Maar met filters die aan de
eisen voldoen maakt het niet uit hoeveel filters je hebt, de verwerkignstijd is
altijd gelijk. Dat betekent dat als je 20 eenvoudige filters nodig hebt om een r
eguliere expressie te vervangen het nog steeds de moeite waard is. Nu we het er
toch over hebben -- de <a>deregifier</a> is van harte aan te bevelen." | 111 "message": "Normaal gesproken is de eerste regel van een filter bestand simp
elweg" |
112 }, | 112 }, |
113 "s37": { | 113 "s37": { |
114 "message": "Het filtermatchingalgoritme in detail" | 114 "message": "[Adblock]" |
115 }, | 115 }, |
116 "s38": { | 116 "s38": { |
117 "message": "Hoe werkt het verbergen van elementen?" | 117 "message": ". Misschien heb je echter gezien dat er in recente versies van A
dblock Plus soms een andere tekst staat. Dit wordt gedaan als je filters in de l
ijst hebt die een geavanceerde filtersyntax hebben die alleen door nieuwere vers
ies van Adblock Plus ondersteund worden en niet in de originele Adblock. Een voo
rbeeld zou kunnen zijn:" |
118 }, | 118 }, |
119 "s39": { | 119 "s39": { |
120 "message": "Element verbergende regels worden vertaald in" | 120 "message": "Dit is gewoon een commentaar. Adblock (en Adblock Plus ook om de
zelfde reden) negeert alles voor het echte merkteken. De vereiste Adblock Plus v
ersie wordt niet opgelegd, omdat Adblock Plus 0.6.1.2 het nog niet nidersteunt.
Als je echter een nog nieuwere syntax gebruikt, krijg je zoiets als:" |
121 }, | 121 }, |
122 "s40": { | 122 "s40": { |
123 "message": "http://www.w3.org/TR/CSS21/" | 123 "message": "Dit soort kopregel wordt ondersteund vanaf Adblock Plus 0.7.1. O
udere versies van Adblock Plus en Adblock kunnen bestanden die met deze kopregel
beginnen niet openen. Wat de huidige versies betreft, deze zullen het versienum
mer in de koprgel vergelijken met hun eigen versie nummer. Als het bestand een n
ieuwere versie van Adblokck Plus nodig heeft, krijgt de gebruiker bij het import
eren een boodschap met de vraag om te upgraden. Abonnementen zullen nog steeds b
estanden bedoeld voor nieuwere versies van Adblock Plus laden maar laten een waa
rschuwinf in het voorkeurvenster zien." |
124 }, | 124 }, |
125 "s41": { | 125 "s41": { |
126 "message": "CSS" | 126 "message": "Ten slote, als je Adblock Plus wilt eisen maar geen versienummer
wilt opgeven, kan je het bestand laten beginnen met" |
127 }, | 127 }, |
128 "s42": { | 128 "s42": { |
129 "message": "en toegepast op alle webpagina's die de gebruiker bezoekt. Een r
egel als" | 129 "message": "[Adblock Plus]" |
130 }, | 130 }, |
131 "s43": { | 131 "s43": { |
132 "message": "example.com#div(evil_ad)" | |
133 }, | |
134 "s44": { | |
135 "message": "ziet er dan zo uit:" | |
136 }, | |
137 "s45": { | |
138 "message": "@-moz-document domain(example.com)\n{\n div#evil_ad, div.evil_a
d\n {\n display: none !important;\n }\n}" | |
139 }, | |
140 "s46": { | |
141 "message": "@-moz-document is een voorgestelde uitbreiding op de CSS standaa
rd, u kunt hier meer over lezen in het" | |
142 }, | |
143 "s47": { | |
144 "message": "http://developer.mozilla.org/en/docs/CSS:%40-moz-document" | |
145 }, | |
146 "s48": { | |
147 "message": "Mozilla Developer Center" | |
148 }, | |
149 "s49": { | |
150 "message": "." | |
151 }, | |
152 "s50": { | |
153 "message": "Regels die niet beperkt zijn to een bepaald domein zullen worden
beperkt door de protocollen http:// en https:// om te voorkomen dat ze elemente
n van de browser's interface verbergen (het gebruikt het chrome:// protocol sche
ma). Bijvoorbeeld de regel" | |
154 }, | |
155 "s51": { | |
156 "message": "#div(evil_ad)" | |
157 }, | |
158 "s52": { | |
159 "message": "wordt vertaald in:" | |
160 }, | |
161 "s53": { | |
162 "message": "@-moz-document url-prefix(http://),url-prefix(https://)\n{\n di
v#evil_ad, div.evil_ad\n {\n display: none !important;\n }\n}" | |
163 }, | |
164 "s54": { | |
165 "message": "Voor ontwikkelaars: Adblock Plus gebruikt hier de" | |
166 }, | |
167 "s55": { | |
168 "message": "https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsISt
yleSheetService" | |
169 }, | |
170 "s56": { | |
171 "message": "stylesheet service" | |
172 }, | |
173 "s57": { | |
174 "message": ". Deze interface is nieuw voor Gecko 1.8 en staat extensies toe
om user stylesheets dynamisch toe te voegen (daarvoor kon je alleen userContent.
css wijzigen, wat een herstart van de browser vereiste). User stylesheets zullen
CSS code van alle websites overschrijven, zij heben het hoogste" | |
175 }, | |
176 "s58": { | |
177 "message": "http://www.w3.org/TR/CSS21/cascade.html#cascading-order" | |
178 }, | |
179 "s59": { | |
180 "message": "belang" | |
181 }, | |
182 "s60": { | |
183 "message": "." | |
184 }, | |
185 "s61": { | |
186 "message": "Hoe ziet de eerste regel van een filter bestand er uit?" | |
187 }, | |
188 "s62": { | |
189 "message": "Normaal gesproken is de eerste regel van een filter bestand simp
elweg" | |
190 }, | |
191 "s63": { | |
192 "message": "[Adblock]" | |
193 }, | |
194 "s64": { | |
195 "message": ". Misschien heb je echter gezien dat er in recente versies van A
dblock Plus soms een andere tekst staat. Dit wordt gedaan als je filters in de l
ijst hebt die een geavanceerde filtersyntax hebben die alleen door nieuwere vers
ies van Adblock Plus ondersteund worden en niet in de originele Adblock. Een voo
rbeeld zou kunnen zijn:" | |
196 }, | |
197 "s65": { | |
198 "message": "(Adblock Plus 0.6.1.2 or higher required) [Adblock]" | |
199 }, | |
200 "s66": { | |
201 "message": "Dit is gewoon een commentaar. Adblock (en Adblock Plus ook om de
zelfde reden) negeert alles voor het echte merkteken. De vereiste Adblock Plus v
ersie wordt niet opgelegd, omdat Adblock Plus 0.6.1.2 het nog niet nidersteunt.
Als je echter een nog nieuwere syntax gebruikt, krijg je zoiets als:" | |
202 }, | |
203 "s67": { | |
204 "message": "[Adblock Plus 0.7.1]" | |
205 }, | |
206 "s68": { | |
207 "message": "Dit soort kopregel wordt ondersteund vanaf Adblock Plus 0.7.1. O
udere versies van Adblock Plus en Adblock kunnen bestanden die met deze kopregel
beginnen niet openen. Wat de huidige versies betreft, deze zullen het versienum
mer in de koprgel vergelijken met hun eigen versie nummer. Als het bestand een n
ieuwere versie van Adblokck Plus nodig heeft, krijgt de gebruiker bij het import
eren een boodschap met de vraag om te upgraden. Abonnementen zullen nog steeds b
estanden bedoeld voor nieuwere versies van Adblock Plus laden maar laten een waa
rschuwinf in het voorkeurvenster zien." | |
208 }, | |
209 "s69": { | |
210 "message": "Ten slote, als je Adblock Plus wilt eisen maar geen versienummer
wilt opgeven, kan je het bestand laten beginnen met" | |
211 }, | |
212 "s70": { | |
213 "message": "[Adblock Plus]" | |
214 }, | |
215 "s71": { | |
216 "message": ". Dit bestand wordt natuurlijk alleen geaccepteerd door Adblokc
Plus 0.7.1 of hoger." | 132 "message": ". Dit bestand wordt natuurlijk alleen geaccepteerd door Adblokc
Plus 0.7.1 of hoger." |
217 } | 133 } |
218 } | 134 } |
OLD | NEW |