Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: pages/adblock-browser/index.html

Issue 29326094: Issue 3013 - Replace /en/adblock-browser with a redirect to adblockbrowser.org (Closed)
Patch Set: Don't do the client-side redirect Created Sept. 8, 2015, 3:05 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | static/img/adblockbrowser_beta_promo.png » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 title=Want Adblock Browser for your smartphone or tablet?
2
3 <head>
4 <meta name="title" content="{{meta-title Adblock Browser Beta Launch}}" />
5 <meta property="og:title" content="{{meta-title Adblock Browser Beta Launch}}" / >
6 <meta name="description" content="{{meta-description Want Adblock Browser for yo ur smartphone or tablet? Join the Adblock Browser for Android Beta Google+ commu nity.}}" />
7 <meta property="og:description" content="{{meta-description Want Adblock Browser for your smartphone or tablet? Join the Adblock Browser for Android Beta Google + community.}}" />
8 <meta property="og:image" content="https://adblockplus.org/img/adblockbrowser_be ta_promo.png" />
9
10 <style type="text/css">
11 #content *
12 {
13 box-sizing: content-box;
14 }
15
16 #content h1
17 {
18 margin-bottom: 28px;
19 }
20
21 ol
22 {
23 font-size: 16px;
24 padding-left: 60px;
25 }
26
27 ol li
28 {
29 margin-bottom: 14px;
30 }
31
32 #content h3.subscribe-header
33 {
34 font-size: 18px;
35 margin-bottom: 14px;
36 }
37
38 .subscribe-description
39 {
40 margin: 14px 0px 20px 0px;
41 }
42
43 .button-community-wrapper
44 {
45 display: inline-block !important; /* !important to override cssFx styles on IE 8 */
46 text-align: center;
47 border: solid 1px #4CAE4C;
48 border-radius: 3px;
49 background-color: #5CB85C;
50 margin: 10px 0px 30px 0px;
51 }
52
53 .button-community-wrapper a
54 {
55 display: block;
56 padding: 25px 20px;
57 color: #FFFFFF;
58 font-weight: bold;
59 font-size: 14px;
60 text-decoration: none;
61 }
62
63 #subscribe-textbox
64 {
65 border: solid 1px #B5B4B0;
66 margin-right: 20px;
67 padding-left: 10px;
68 padding-right: 10px;
69 font-size: 16px;
70 width: 276px;
71 line-height: 44px;
72 height: 44px; /* IE 8 */
73 }
74
75 #subscribe-textbox.placeholder
76 {
77 color: #B5B4B0;
78 }
79
80 #subscribe-button
81 {
82 border: solid 1px #357EBD;
83 border-radius: 3px;
84 background-color: #428BCA;
85 color: #FFFFFF;
86 font-size: 14px;
87 font-weight: bold;
88 min-width: 146px;
89 height: 44px;
90 }
91
92 #subscribe-button span
93 {
94 padding-left: 30px;
95 padding-right: 30px;
96 }
97
98 .disclaimer
99 {
100 display: none;
101 font-size: 14px;
102 color: #D00;
103 border: 1px solid #D00;
104 border-radius: 5px;
105 padding: 5px;
106 margin-top: 30px;
107 }
108
109 html[lang="fr"] .disclaimer.lang-fr
110 {
111 display: block;
112 }
113
114 #subscribe-form .sucess-label, #response-error,
115 #subscribe-form .invalid-label, #subscribe-form.success input,
116 #subscribe-form.success button
117 {
118 display: none;
119 }
120
121 #subscribe-form .invalid-label
122 {
123 margin-top: 30px;
124 }
125
126 #subscribe-form.success .sucess-label,
127 #subscribe-form.invalid .invalid-label,
128 #subscribe-form.error #response-error
129 {
130 display: block;
131 }
132 </style>
133
134 <script type="text/javascript">
135 //<![CDATA[
136 function addListener(obj, type, listener, useCapture)
137 {
138 if ("addEventListener" in obj)
139 {
140 obj.addEventListener(type, function(ev)
141 {
142 if (listener(ev) === false)
143 ev.preventDefault();
144 }, useCapture);
145 }
146 else
147 {
148 // IE 8
149 if (type == "DOMContentLoaded")
150 type = "readystatechange";
151
152 type = "on" + type;
153 if ("attachEvent" in obj)
154 {
155 obj.attachEvent(type, function()
156 {
157 if (document.readyState == "complete" && listener(event) === false)
158 event.returnValue = false;
159 });
160 }
161 else
162 {
163 obj[type] = listener;
164 }
165 }
166 }
167
168 function addPlaceholder(textbox)
169 {
170 textbox.setAttribute("class", "placeholder");
171 textbox.value = getPlaceholderText();
172 }
173
174 function getPlaceholderText()
175 {
176 return document.getElementById("subscribe-textbox").getAttribute("placeholder" );
177 }
178
179 function contentLoad()
180 {
181 var emailTextbox = document.getElementById("subscribe-textbox");
182
183 // IE9 + Safari iOS
184 if (!("placeholder" in document.createElement("input"))
185 && !emailTextbox.value)
186 {
187 addPlaceholder(emailTextbox);
188 addListener(emailTextbox, "focus", function()
189 {
190 if (emailTextbox.value == getPlaceholderText())
191 {
192 emailTextbox.value = "";
193 emailTextbox.setAttribute("class", "");
194 }
195 }, false);
196
197 addListener(emailTextbox, "blur", function()
198 {
199 if (!emailTextbox.value)
200 addPlaceholder(emailTextbox);
201 }, false);
202 }
203
204 addListener(document.getElementById("subscribe-form"), "submit", function()
205 {
206 var formElement = document.getElementById("subscribe-form");
207 if (!window.XMLHttpRequest)
208 {
209 formElement.submit();
210 return false;
211 }
212
213 var pathArray = window.location.pathname.split("/");
214 var params = emailTextbox.name + "=" + encodeURIComponent(emailTextbox.value );
215 params += "&lang=" + pathArray[1];
216 var request = new XMLHttpRequest();
217 request.open("POST", formElement.action, true);
218 request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded" );
219 addListener(request, "readystatechange", function()
220 {
221 if (request.readyState == 4)
222 {
223 if (request.status >= 200 && request.status < 300)
224 {
225 formElement.setAttribute("class", "success");
226 }
227 else if (request.status == 400)
228 {
229 formElement.setAttribute("class", "invalid");
230 }
231 else
232 {
233 var errorWrapper = document.getElementById("response-error");
234 if ("textContent" in errorWrapper)
235 errorWrapper.textContent = request.statusText;
236 else // IE8
237 errorWrapper.innerText = request.statusText;
238
239 formElement.setAttribute("class", "error");
240 }
241 }
242 }, false);
243 request.send(params);
244 return false;
245 }, false);
246 }
247 addListener(document, "DOMContentLoaded", contentLoad, false);
248 //]]>
249 </script>
250 </head>
251 <h3>{{beta-install-header Join the beta test!}}</h3>
252
253 <ol>
254 <li>{{beta-install-step1 Join the <strong>Adblock Browser for Android Beta</st rong> Google+ community.}}</li>
255 <li>{{beta-install-step2 Click the <strong>Become a Tester</strong> link.}}</l i>
256 <li>{{beta-install-step3 Download the <strong>beta app</strong>.}}</li>
257 </ol>
258
259 <div class="button-community-wrapper">
260 <a href="https://adblockplus.org/redirect?link=adblock_browser_android_beta_co mmunity">{{beta-install-button-text Beta test Adblock Browser for Android}}</a>
261 </div>
262
263 <h3 class="subscribe-header">{{ios-subscription-header iOS user? Coming soon!}}< /h3>
264
265 <p class="subscribe-description">
266 {{ios-subscription-description Get a heads-up prior to the launch!}}
267 </p>
268
269 <form id="subscribe-form" accept-charset="utf-8" action="/submitEmail" method="p ost">
270 <input id="subscribe-textbox" type="email" name="email" placeholder="{{ios-sub scription-input-placeholder Your email address}}" required />
271 <button id="subscribe-button" type="submit"><span>{{ios-subscription-button No tify me}}</span></button>
272 <span class="sucess-label">
273 {{subscription-message-success A confirmation email has been sent. Please ch eck your email and click the confirmation link.}}
274 </span>
275 <span class="invalid-label">
276 {{subscription-message-invalid-email Please enter a valid email address.}}
277 </span>
278 <span id="response-error">
279 </span>
280 </form>
281
282 <div class="disclaimer lang-fr">
283 <fix>En téléchargeant le logiciel Adblock Plus vous acceptez que si vous utili sez Adblock Plus pour visiter un site Internet en violation de toute obligation ou droit de quelque nature que ce soit en relation avec ce site Internet, en auc un cas EYEO ne pourra être tenu pour responsable envers vous ou tout autre tiers pour toute perte ou dommage (y compris, sans y être limité, les dommages pour p erte de chances et perte de bénéfices) découlant directement ou indirectement de votre utilisation de ce logiciel.</fix>
284 </div>
OLDNEW
« no previous file with comments | « no previous file | static/img/adblockbrowser_beta_promo.png » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld