OLD | NEW |
---|---|
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <title>Preloader</title> | 3 <title>Preloader</title> |
4 | 4 |
5 <script> | 5 <script> |
6 function ExtractGetParameterBadlyAndInsecurely(param, defaultValue) { | 6 function ExtractGetParameterBadlyAndInsecurely(param, defaultValue) { |
7 var re = RegExp('[&?]' + param + '=([^&?#]*)'); | 7 var re = RegExp('[&?]' + param + '=([^&?#]*)'); |
8 var result = re.exec(document.location); | 8 var result = re.exec(document.location); |
9 if (result) | 9 if (result) |
10 return result[1]; | 10 return result[1]; |
11 return defaultValue; | 11 return defaultValue; |
12 } | 12 } |
13 | 13 |
14 var linksToInsert = ExtractGetParameterBadlyAndInsecurely('links_to_insert', 1); | 14 var numLinksToInsert = |
15 var linksToRemove = ExtractGetParameterBadlyAndInsecurely('links_to_remove', 1); | 15 ExtractGetParameterBadlyAndInsecurely('links_to_insert', 1); |
mmenke
2012/12/17 20:47:53
nit: 4 space indent.
gavinp
2012/12/17 21:23:23
Done.
| |
16 | 16 |
17 function RemoveLinkElementsAndNavigate() { | 17 var receivedPrerenderStartEvents = []; |
18 for (var i = 1; i <= linksToRemove; ++i) { | 18 var receivedPrerenderStopEvents = []; |
19 var link = document.getElementById('prerenderElement' + i); | 19 |
20 link.parentElement.removeChild(link); | 20 function PrerenderStartHandlerForLink(index) { |
21 } | 21 receivedPrerenderStartEvents[index] = true; |
22 document.location = 'REPLACE_WITH_DESTINATION_URL'; | 22 } |
23 | |
24 function PrerenderStopHandlerForLink(index) { | |
25 receivedPrerenderStopEvents[index] = true; | |
26 } | |
27 | |
28 function RemoveLinkElement(index) { | |
29 var link = document.getElementById('prerenderElement' + index); | |
30 link.parentElement.removeChild(link); | |
23 } | 31 } |
24 </script> | 32 </script> |
25 | |
26 </head> | 33 </head> |
27 <body> | 34 <body> |
35 <p id=paragraph></p> | |
mmenke
2012/12/17 20:47:53
Is this needed? I don't mind, just don't see it b
gavinp
2012/12/17 21:23:23
No, that's leftover from a debug session. Now cut.
| |
28 <script> | 36 <script> |
29 for (var i = 1; i <= linksToInsert; ++i) { | 37 for (var i = 0; i < numLinksToInsert; ++i) { |
30 document.write( | 38 document.write( |
31 '<link id="prerenderElement' + i + | 39 '<link id="prerenderElement' + i + |
32 '" rel="prerender" href="REPLACE_WITH_PRERENDER_URL"/>'); | 40 '" rel="prerender" href="REPLACE_WITH_PRERENDER_URL"/>'); |
41 var link = document.getElementById('prerenderElement' + i); | |
42 link.addEventListener('webkitprerenderstart', | |
43 PrerenderStartHandlerForLink.bind(null, i), false); | |
44 link.addEventListener('webkitprerenderstop', | |
45 PrerenderStopHandlerForLink.bind(null, i), false); | |
mmenke
2012/12/17 20:47:53
nit: Replace tabs with spaces.
gavinp
2012/12/17 21:23:23
Done.
| |
33 } | 46 } |
34 </script> | 47 </script> |
35 <a href="REPLACE_WITH_DESTINATION_URL">Link To Click</a> | 48 <a id="toClick" href="REPLACE_WITH_DESTINATION_URL">Link To Click For First Prer ender</a> |
36 </body> | 49 </body> |
37 </html> | 50 </html> |
OLD | NEW |