PageSourceSearch

https://login.nrc.nl/login?service=https%3A%2F%2Fwww.nrc.nl%2Flogin%2F

html nrc.nl collected 2026-09-24 07:13:33 UTC 21,756 bytes, 320 lines download raw bytes

1<!DOCTYPE html><html>
2<head>
3    <title>Inloggen bij NRC</title>
4    <meta charset="UTF-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><link rel="stylesheet" href="webjars.fontawesomemin.css"/><link type="text/css" rel="stylesheet" href="webjars.latomin.css"/><link rel="stylesheet" href="/themes/nrc-theme-default/css/nrc.css?v=2"/><link rel="icon" href="/favicon.ico" type="image/x-icon"/>
4<script type="text/javascript" src="/webjars/jquery/3.6.0/jquery.min.js"></script>
4
5<meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/></head>
6
7<body class="niet ingelogd">
8<header class="band">
9    <div class="account">
10            <a href="/create?service=https://www.nrc.nl/login/"><p>Nog geen account? Maak nu aan</p></a>
11        </div>
12
13        <div class="branding">
14        <a href="http://www.nrc.nl/">
15            <!-- svg enable-background="new 0 0 76.4 20" version="1.1" viewBox="0 0 76.4 20" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" width="120" height="38">
16                <path d="M0 17.7l1.7-.4V8.4L0 8V6l5.3-.6.4.2V7h.2c1.4-1 2.8-1.6 4.6-1.6 2.3 0 3.7 1 3.7 3.5v8.5l1.2.3v1.9H8.7v-1.9l1.4-.3v-7.1c0-1.4-.7-1.8-2-1.8-.8 0-1.5.2-2.2.5v8.5l1.3.2v1.9H0v-1.9z"/>
17                <path d="M16.9 17.7l1.2-.3V8.5L16.4 8V6l5.3-.6.4.2v2h.1c.7-1.2 2-2.2 3.6-2.2.2 0 .6.1.7.1v3.6c-.3-.1-.8-.1-1.2-.1-1.3 0-2.3.2-3.1.6v7.6l2 .4v2.1h-7.4l.1-2z"/>
18                <path d="M27 12.7c0-5.2 3.2-7.4 7.6-7.4 1.6 0 3.2.2 4.1.6V10h-2.5l-.4-2c-.3-.1-.6-.2-1.4-.2-1.9 0-3.1 1.3-3.1 4.6 0 3.6 1.6 4.7 4.1 4.7 1.5 0 2.7-.3 3.4-.6v2.2c-.8.6-2.3 1.3-4.6 1.3-4.8 0-7.2-2.8-7.2-7.3z"/>
19                <path d="M45.7 18.9l2.1-.2V7.1l-2.2-.2v-.6l3-.3.1.1v1.4h.1c1.5-.9 3.3-1.6 5.2-1.6 2.5 0 3.8 1.1 3.8 3.5v9.5l2 .2v.5h-5.1v-.5l2.2-.2V9.7c0-2-.9-2.9-3.2-2.9-1.7 0-3.4.7-4.9 1.5V19l2.2.2v.5h-5.3v-.6z"/>
20                <path d="M60.8 18.9l2.1-.2V1L60.4.8V.3l3.3-.3.1.1v18.8l2.2.2v.6h-5.2z"/>
21                <circle cx="42.8" cy="17.9" r="2"/>
22                <path d="M71.9 12.6l-3.8-7.1h3l5.3 7.1-5.3 7.2h-3" fill="#cd1719"/>
23            </svg--><svg enable-background="new 0 0 120 38" version="1.1" viewBox="0 0 120 38" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" width="120" height="38">
24                <polygon fill="#D30910" points="99.1 2 108 18.9 99.1 35.8 106 35.8 118.6 18.9 118.6 18.9 106 2"></polygon>
25                <path d="m1.5 30.9 3.9-0.9v-21l-4-1v-4.8l12.5-1.4 0.9 0.4v3.3h0.4c3.2-2.3 6.5-3.8 11-3.8 5.3 0 8.8 2.3 8.8 8.3v20.1l2.9 0.8v4.6h-16v-4.6l3.3-0.8v-16.8c0-3.3-1.6-4.3-4.8-4.3-1.9 0-3.6 0.5-5.2 1.1v19.9l3.3 0.8v4.6h-17v-4.5z"></path><path d="m41.4 30.9 2.9-0.8v-21.1l-4.1-1v-4.8l12.5-1.4 0.9 0.4v4.7h0.4c1.8-2.8 4.6-5.1 8.4-5.1 0.6 0 1.3 0.1 1.7 0.3v8.5c-0.8-0.2-1.9-0.3-2.8-0.3-3.1 0-5.3 0.5-7.3 1.5v17.8l4.8 0.8v5h-17.4v-4.5z"></path><path d="m65.2 19.2c0-12.2 7.5-17.4 18-17.4 3.8 0 7.5 0.6 9.7 1.3v9.7h-6l-1-4.8c-0.7-0.3-1.4-0.5-3.2-0.5-4.5 0-7.3 3.1-7.3 10.9 0 8.5 3.9 11.2 9.8 11.2 3.5 0 6.5-0.8 8.1-1.4v5.1c-2.1 1.4-5.6 3.1-11.2 3.1-11.3-0.1-16.9-6.7-16.9-17.2"></path>
26            </svg>
27        </a>
28        <div class="shared-svgs">
29            <svg xmlns="http://www.w3.org/2000/svg">
30                <defs>
31                    <symbol id="nrc-logo-sprite" viewBox="0 0 76.4 20">
32                        <path d="M0 17.7l1.7-.4V8.4L0 8V6l5.3-.6.4.2V7h.2c1.4-1 2.8-1.6 4.6-1.6 2.3 0 3.7 1 3.7 3.5v8.5l1.2.3v1.9H8.7v-1.9l1.4-.3v-7.1c0-1.4-.7-1.8-2-1.8-.8 0-1.5.2-2.2.5v8.5l1.3.2v1.9H0v-1.9zm16.9 0l1.2-.3V8.5L16.4 8V6l5.3-.6.4.2v2h.1c.7-1.2 2-2.2 3.6-2.2.2 0 .6.1.7.1v3.6c-.3-.1-.8-.1-1.2-.1-1.3 0-2.3.2-3.1.6v7.6l2 .4v2.1h-7.4l.1-2zm10.1-5c0-5.2 3.2-7.4 7.6-7.4 1.6 0 3.2.2 4.1.6V10h-2.5l-.4-2c-.3-.1-.6-.2-1.4-.2-1.9 0-3.1 1.3-3.1 4.6 0 3.6 1.6 4.7 4.1 4.7 1.5 0 2.7-.3 3.4-.6v2.2c-.8.6-2.3 1.3-4.6 1.3-4.8 0-7.2-2.8-7.2-7.3m18.7 6.4l2.1-.2V7.1l-2.2-.2v-.6l3-.3.1.1v1.4h.1c1.5-.9 3.3-1.6 5.2-1.6 2.5 0 3.8 1.1 3.8 3.5v9.5l2 .2v.5h-5.1v-.5l2.2-.2V9.7c0-2-.9-2.9-3.2-2.9-1.7 0-3.4.7-4.9 1.5V19l2.2.2v.5h-5.3v-.6zm15.1 0l2.1-.2V1L60.4.8V.3l3.3-.3.1.1v18.8l2.2.2v.6h-5.2"/><circle cx="42.8" cy="17.9" r="2"/><path d="M71.9 12.6l-3.8-7.1h3l5.3 7.1-5.3 7.2h-3" fill="#cd1719"/></symbol>
33                </defs>
34            </svg>
35        </div>
36    </div>
37</header>
38
39<main>
40    <header>
41            <h1>Inloggen bij NRC</h1>
42        </header>
43        <form method="post" id="fm1" action="/login" class="login-form-with-labels">
44
45            <fieldset>
46   <label for="username">E&#8209;mailadres</label>
47   <input id="username" accesskey="E" type="email" name="username"
48      autocomplete="on"
49      placeholder="E-mailadres"
50      value="" autofocus="autofocus"></fieldset>
51
52            <fieldset>
53   <label for="password">Wachtwoord</label>
54      <input id="password" accesskey="W" type="password" name="password"
55             autocomplete="off"
56             placeholder="Wachtwoord"
57             value=""><button type="button" class="wachtwoord-toggle"
58              onclick="togglePasswordVisibility(this)" data-target="password">
59         Toon
60      </button>
61   </input>
62   </fieldset>
63
64            <input type="checkbox" style="display: none;" name="rememberMe" id="rememberMe" checked /><fieldset>
65                <button class="primair" type="submit" accesskey="l">Inloggen</button>
66            </fieldset>
67
68            <div class="wachtwoord hulp">
69   <a href="/wachtwoord-vergeten">Wachtwoord vergeten</a>
70   </div>
71
72            <input type="hidden" name="execution" value="e503b6f9-9d8c-4d5d-aca8-a4159ade978c_ZXlKaGJHY2lPaUpJVXpVeE1pSXNJblI1Y0NJNklrcFhWQ0o5LkJZcHk4d21ZcURyTGY0WHJlMFpLbjBweVVSNjBjTEVXVl9qTExNWW1VSUpiOWRvQ3cwaUVVR0daQWNDME5yeXpLOExYRVhtQ3ZaSEhma3FZUlJyQ2tUcWJHQ1J6dUZaYWRrcVlxRjE1bF9jbGNodk5CSl9BMllpZWlIUGFDZ0JVTXN2cVJsWFBtOFhpenZhMGpiVGxnZEVKTVgxTzQtYmJiSGYwclBMRW5RRmJ0NUYzLVRUdXFLcHp4WGVRa3NrZHNnUUNGZ244dDZpc1lDU0FvZDZPZ0FDYTlYcXZMdklGLVluM3FZdlJ5TWpldU1lZWhkRktvZG80TkNZZVdaMWdUd2RiYWNyVnZmTWdhdEg1bFdRcENWLU9kdzdUV0puTDg5b2ZrVlk4ai16eEdwNjc1VlRCeXhmZTRfUzVJMTVGZXNGMjgzVlV2d3o1UkNWSGUycUFDb05OODhrUWVwdlowMFdZRncyMW5KUFpGS3dZSHVWcFlqTDNoaXJvbmVSdVRBaDFmOEpXQ185Y25OcGh6ajdfX2JjWnVxdS1GdVppMWVtMzMyZWdVdUhCMUY5VEFtV3k3SE5acjY5WHRnNU1qRVIxaEdqZGJrRnVzMXhGLXVTbVhwbElzc0xVdldVVXBDOUp6WDNiY1o2NmZ6N0RYeG1kUWFFUVR1SmxWY2tlMnd6dU15MU40Q1dRUlZJOEFWQUFGNU9haC0wSEhfYkVKUS1TLXRDZk1HUjlqajNJRjlnNjEybEVOTzJJRjF0WWFPd09HZWVBVjhJRlRJZnZQX1RLZ19sUW1VNVF4VHA4OXlhVE1RYlNCTjJmMEdfZHVUY3l3emIwRm13YzhjRkdueERLLXR3N3hUWklHS2ZHa3BJRmNVNWhUZFk5WVlZY09HWVM0bElCZWtFVm9JMlF1RXZXdUZxUjgxXy1RbHk4ck42eHJWX1V0b1VZRjNpaTdLWG0xMWVuWElrX0RRUm5VVFdCeXhiZHNwY01PMzBLSVNKdlBCald4QkZBaXFhOEhEa2pSMjU2bnE1cGhNakpsd1N1eHAtSnFHTjJCai1UU085cWRaRVhfUVptdmIyem1CVWJrZV8teTZ3YzhaLUdmeTV1dzI5ejd2VVd2eTAtVC1sdkF0ME5hbHhmdVVVd2liTF9admRBOWhvRS1ES1ZpMmI4ZTNUSVhaVWJVZlNncWVqRmVUUmFwZEJIS0ZDUlJMT0RHdVZyUk5EVzJLdnRKM0I3YzFUTVBaQzJKVEkwLWVuYVRmdGREdkZ2MXpmRmRDX1YtVFNUUGhuaGt2bGNBZ0t3VVdqQU1JYkZIY3dDNU1fbVFtelJ2QTZndDlZa3Q3a2M1TDZiRUZTSUZ4d2NnVkRfTGFtTUlSUEhJY0tudlJBVHozaUhYRF8xVXkzQzhvQTBTWENfWGhMaEI0OC1hZW10cTFETXlzaW5oalZxUnZhdUhLM3BRQzdWQ2VNSTRHTjFyU3hVSkw2SHhiazJnMjg0WFI4Q0t5c1RkeC16eFY0bFV0Zzc4LUhQcjI0c3hDS0lYSEx4RFoxNFJjdU9VS3VkOElXNVJjWGotcmlfVldHNVdEZGR4YjNmdmlWV003WU5PUVoteXlKM25CT0FuZV9QbnpNRDVraTFpeHFvYko3Y1ZwY1Z6YnJpR3IyQWoteFRTYjUxRUs1eTkwaHJzMGxXQ1M4aHpCOHNreDFKcktPLXdDM1VONTMzMUNrVGF6X2lvZXpXXzZCQWdMYjloT0RobG5pQzVnVThZaUNNeUFnbXRmc2FXclVzeGc1bldCNmhDa3ppa3AwT3YyeTZDWGxEUWRmd1dxNzYxYzF4YW
72NuUXdTQ0lrZG1DZ3lubGhQOHZld283N19BZ3VaSHVDWlBXbTZwUm5PSHZlUTIyLTBwZjUyMk5La2lYSVVuYTdSLWhodTFQd2dwQ3hXeDJ1bDhIME83TjhzX0FIOHJ5ZXZoTVUxQmpCNVRqSEcxSW9wcjJtd1FRblJqZzdMV1FYZUdMRDUtZEpUWHdZUGhvcURyOF9ELVJEU3dCLXluQmdQRFFIbVJPa0FHY3FJOHNCOEljYllIZEsyWUswb1NyWkFjcFoySFY3TVRnWGZsRVJFVFl5b0pIOTd0c1RSUmR1WTF2dWFaQWxHLWdSY3NZUTBYSndSNmpLS1NVclBSbDFCQ1NnZ0lWSlpkV3JtRXBJUXVWcFR1SWRWYm5sakVZaFBka1pmRE11akxaaF9xOFFnSzA4Y3NiS1pIdXZDQXFONzlCdDd1cURRODNKekc1bjcxeEpQQmZaWGdKOU5mR2RXcV9BbWRoRFJJLTAxSGlEczZBTXJRTWw3ZGpDQWczQkNuZnJUd0I2Q0xVbWdxOU10QV9JSzhMZnNlbnJvaFZQU25wcTBYdDdFR3RYQ1lWTWxpbnBQcGRHVGJKUU95MjlrRGFZSjRKZUxlc2ZVVVF0NXZJbGdoVDdCQUs1TUdqdjhKNFBEcl9pdE82b05uZUhmUGJrUlRaVEtSdENQVEQ5d3VMc2FmN2x2cjQtOEhpQVJrV1E1NzRwRUk2QldhN1VYTkFFMzZ4RnhLcnd6X092Q2o1emdra0lBM2NtT092aENvNGVMLW9QemlidE1WWnFUcmYydDFFcnZleUVzT0JkNHJnOS1IZGV1NXBXUjNMTU5nY0pGMmtzaDhkY2NzOGNhMkgyWVZlc3Vnd21XU2w5dU1lX1NsX1Q1RXNRWXhxSUN5cVlPSDZndkVDMVpUSUVCbHdsSWN0YmFEYTlkb1JyLWlad2JEWkZfQVRIY2UtR0xTazZxZzV3QmF4d0x5TWdwcTZBb0pId01GZG5BRmNvWFJSSW9RUEFrT2hKTTllbzlCZzliYUlQZ0JSZmhxbUdoZVNWSXN3ZVhLVFdTLXcyQkxuU1Z1VVh0LWFiWk9vdHk5LVBKYmVWZEt4VW9JSjFRRTZNU2xHYkh5X1YtRm55bWN2enRtYWFtZVhjYXpuUDVocjlHVTdPQ3ZkejFSNFlOLVBXNkFJdkZiQkdrS0thaV82TUktd2tVSmtEamJNZnZZUkxOaFI5Y2lsTnJ6eXdza3dhU21VQ19DMkI4dkJBMlhvVG45YU1kTVowc2pGWVlNaWRzd3VPNWFYUHBTTXNiYmpscER6SE5XZU1Uci1yNENna0d1ZllfY0lTczZNQUNFRFpyOS1ZQURMVS1WNUFUUTJ4bGQtaU1TMkxIQUg0N0F4MnFTa1FnSmhwNm9wdEFVSjIwaHozcWlSTEFIV0UxTGx6SDY5di1ZUEVKdC1ZOGd6YUhlS1VydjUyZU1PV0YzX0VEcGh3WGxpODdNTUxwdllMZkNjcUE1ZWFNSFV0aERvbEkyYVhjclY5VFl3eEJjOGxaWDI4LUNFd09wd0F0VUdmeHpiUkcwWGZ5U3hfQ1JMTzhIQi1XYng4b3FUWXFCM1JZUzdBaXBmLXdhTmxRaFo0Q0FsWGhEQk03elNsYmozOFFEUlMxOVotYkp4V2g5cGF4NTUwTXJKazJ5WHI2XzNqblNSLV9hS2ZEalJsbVlwWVhlYlZiTzF4QU5iZ045WXhjVTZHWmh6SktUUlR4Vno2SnB3YnlvYnF5R2lPYlpITExYakFrZEprX04wLWdCVU40c25iTnJ1eVFJRDFpOTlqMDFpTHYycWU2d0EyR2x0S1JVV3FmR1EtT0ZCbGEwNm5tUTlqRktCOEswd1owa2QzYjN5YXo2U1RuVXpyRDJ5N2k1c2hoQzFPZ1JJYmtYWWQweGlXN2RGUDJoNWNwdnlGMlJOUV9zWXZ6aFZkVnhDb3BYbTBJZ0xKMEVtWVJzcGZqYWFMMjQwRXFOMkMzSHpvdE84YllPYTRBWkU4YlZiblNYZHN0cDN2c0xVZUhhbS1kZnBpXzJLLTcxdW4zdTZwNHhqaFNxMEViSmhUaUYtOWx3Wkx6UDdyemlYbG5MSW1OSTU5bXNwS1NPaU4tTHpVMUZXRVFWMkl3YWNJdWFqcTJJd3FxSk5HdUVVN3BUX19pLVgyeXZMcDVBX215RjlzUUIyTnB5R0FwSHZvejRBTFZGazVheTRycjFoWG1CdkIteDVDQTFVMG9qVzBOUFBFdGg0TU4wT1FVR0gzdHJ2NHp1RWVHYmJTNXVXRTA0cmRSNk83b1VJWXlPcmRkNENaRUt5dXc2b0p1SUZQYlpvMy1TMXpPcVFuejRocENQVUtXMm9HR3FyTFFGTGJEc3pVWnhfblBBcy1WN0RJT29LY0ozdGtOM1A1dlNYRXFxaGJOenB2UUxTQWU0RUpwRHBFdzBQby1oTVZHbFp3TzBicXNhMzBPUmJRbVl0amlod0RLU0xzTmJTcEFXNVNUb1ZzbWpaN2pQb3Q1Z19wSG91b1AyQTA5Z2ozbVVLXzhjUzZlNzRGTkVya3BURG1WdWd3NzVLX1Nfb0F0VUxMblNWZ1NHS3pGRWZVZTVGOTBfVUJaX01KU1U4VHVxczVXNE55Uy1uWkp6ak9uY1BrM0tJZ1dheldOZzhfRDVTZFJ2c3lkV3pqWUsyZGtrMGh3cGpiS0JYUFZieV9RQjBDUUMxNV9zRmJ4VVpmXzQxRjJYcGRSZkxYRlJubjFhVm1UNUxJWHB2ZFdaVXc3aDNTcVZvekIwaWc3VzZiSnE3WmRwcDdid2xQclJlSDNzZXNGZGZURGVieWNnYWFjcDBYMXNfMGxCeXdKbnFxbGZLY0tBY25yRzRMU3lISkR6V1hPZGpJcXFMcFpIb204RFJvWlZIUTRaZ2VNQ2ZMNzZhZkM5MG1ZZUROWnhQSmVCRTQ5bU52anVIZlNFY2dKZENSaEp4QzVmQjJNTnZRT1JCN296dWtGdmRwV09yNHIyZDBoN01XSUNDNDc2cXpMdFJ5SkpZTEpld2oyT3psVE50TWpna0k1WE5JQUlUQ0xocWdYX1ZwNE1MZm5UdjlQeE5OQ3NRbjVMS0U1emhMNU42RGV3N3pSQy1DYlRNbTc0blZRaWxaVkkwdTBzcW9jVVpxN3pLSkxuYm5IdUJjRlRtZExWUk9lQ3pILWdFSEY2SEZaRmFhWWpQdE4yNTRwdlJ2c2N2WnE2c3Fob3pBbEVHckF3NmxHa0tuNmtBSFd5S3AxSjFDWjdkbVFRbDJiWXJwTHpxZDlTRUNHdkpGekRzNy1lVjlmMXlsZVJIYkpPN203dkhtZ1pLY3hzWWRiUExGcG9peEF5MnFEdlpxQjhMYWJCeFc2ekxLUFFLbG1QRWFSbGxYdUtORWNIQVd4N0E3QnJaeDlycWZsbS14VzJXZlpGaUxYcHR5YkhDRUlJNkJuM3JwLWJXNjdab1U5YU1NQ1hxWU5fNjJuMThfQnM4R2FqNnNsRFJmLUVOT01fWTdGQWY3ZWlwdGJUVkJOY016WFJ0UGk1dE5TY2RlYnc2R2RMMjdtRFV2ZFN3OHNLeWFqVWsxUHY0MDk4QTVjMG5fdFp5SWV1MzJiOTd1czVCOHZIZlp3RlZhQXlPVVRFcERIbUZxQzBNZmtVQXBnZkc2Q01yWmcwS3oxYnRuQkxTTUVUY3kxRVVPcTVYcWNYUFRtTEcxbnNkckFJMUQ2alY5Mlg2aU1wREkwNVF5S0JIQ3RMNGFHcHlVbFR4X0JwY2NoU2ZOVDVwd1FYdXhHVW51NzBqMVJ1OXM2aHN3TFBBWnVyWE5ra3BnRUVQZmgzWjF4VGQ4N3hnZzNmaFVyZERybzY4dzlmcGdLbHFXb3pOM2x4cm91VGJTWVczOXRVMXVGVXdTY2FXMEVaSGpsSGFQR28uSDItNnlwU0pJNEhqbVVITUhyX2hZWjNFS29xS2s2TUhIaVp0QS0yeHRJMUNBbXhsUUFKQzF6cGFsaTA1bTlvZzlvN1pVdjFNS1RUZXpwclZGQTUwMGc="/><input type="hidden" name="_eventId" value="submit"/><input type="hidden" name="geolocation"/></form>
73    <div class="login-with">
74            <p class="separator">Of log in met</p>
75            <div class="login-options">
76            <a class="button button--google-login"
77               href="clientredirect?client_name=Google&amp;service=https%3A%2F%2Fwww.nrc.nl%2Flogin%2F&amp;locale=nl&amp;callback_url=https://login.nrc.nl/login&amp;service=https://www.nrc.nl/login/&amp;registration_source="
78               title="Inloggen met Google">
79            </a>
80            <div class="login-options-grid">
81                    <button class="button button--other-account-option" data-code="MH_LCD">
82                        <span>Leeuwarder Courant</span>
83                        </button><button class="button button--other-account-option" data-code="MH_NHD">
84                        <span>Noordhollands Dagblad</span>
85                    </button><button class="button button--other-account-option" data-code="MH_YC">
86                        <span>IJmuider Courant</span>
87                        </button><button class="button button--other-account-option" data-code="MH_GE">
88                        <span>De Gooi- en Eemlander</span>
89                        </button><button class="button button--other-account-option" data-code="MH_DVN">
90                        <span>Dagblad van het Noorden</span>
91                        </button><button class="button button--other-account-option" data-code="MH_DL">
92                        <span>De Limburger</span>
93                        </button><button class="button button--other-account-option" data-code="MH_HD">
94                        <span>Haarlems Dagblad</span>
95                        </button><button class="button button--other-account-option" data-code="MH_LD">
96                        <span>Leidsch Dagblad</span>
97                        </button><button class="button button--other-account-option" data-code="MH_FRD">
98                        <span>Friesch Dagblad</span>
99                        </button>
100                </div>
101            </div>
102    
102<script>
103    document.addEventListener('DOMContentLoaded', () => {
104      const urlParams = new URLSearchParams(window.location.search);
105      const disableParam = urlParams.get('disable');
106
107      // Hide login options based on disable query param
108      if (disableParam) {
109        const disabledOptions = disableParam.split(',');
110
111        // Hide account section in header
112        if (disabledOptions.includes('create')) {
113          const accountSection = document.querySelector('header.band .account');
114          if (accountSection) {
115            accountSection.style.display = 'none';
116          }
117        }
118
119        // Check if both google and mh are disabled
120        if (disabledOptions.includes('google') && disabledOptions.includes('mh')) {
121          const loginWithContainer = document.querySelector('.login-with');
122          if (loginWithContainer) loginWithContainer.style.display = 'none';
123        } else {
124          if (disabledOptions.includes('google')) {
125            const googleButton = document.querySelector('.button--google-login');
126            if (googleButton) googleButton.style.display = 'none';
127          }
128
129          if (disabledOptions.includes('mh')) {
130            const mhButtons = document.querySelectorAll('.button--other-account-option');
131            mhButtons.forEach(button => button.style.display = 'none');
132          }
133        }
134      }
135
136      const accountButtons = document.querySelectorAll('.button--other-account-option[data-code]');
137
138      accountButtons.forEach(button => {
139        button.addEventListener('click', () => {
140          const serviceParam = urlParams.get('service') || (window.location.origin + '/');
141          const code = button.getAttribute('data-code');
142
143          if (code) {
144            const targetUrl = `/v2/login/social/${code}?service=${encodeURIComponent(serviceParam)}`;
145//            const targetUrl = `/v2/login/social/${code}?locale=nl&callback_url=${encodeURIComponent(window.location.origin + '/overview')}&service=${encodeURIComponent(serviceParam)}`;
146            window.location.href = targetUrl;
147          } else {
148            console.error('missing code');
149          }
150        });
151      });
152    });
153    </script>
153
154</div>
155    </main>
156
157<script type="text/javascript" src="/js/nrc/zxcvbn.custom.nl.js"></script>
157
158
159<script type="text/javascript" src="/webjars/es5-shim/4.5.9/es5-shim.js"></script>
vendor: 1 bytes, line 159
159
160<script type="text/javascript" src="/webjars/css-vars-ponyfill/2.3.1/dist/css-vars-ponyfill.min.js"></script>
vendor: 1 bytes, line 160
160
161<script type="text/javascript" src="/webjars/jquery/3.6.0/jquery.min.js"></script>
vendor: 1 bytes, line 161
161
162<script type="text/javascript" src="/webjars/material-components-web/10.0.0/dist/material-components-web.js"></script>
162
163
164<script type="text/javascript" src=""></script>
164
165
166<script>
167    if (typeof resourceLoadedSuccessfully === "function") {
168        resourceLoadedSuccessfully();
169    }
170    cssVars({});
171</script>
171
172
173<script>
174    /*<![CDATA[*/
175
176    var trackGeoLocation = false;
177
178    var googleAnalyticsTrackingId = null;
179
180    if (googleAnalyticsTrackingId != null && googleAnalyticsTrackingId != '') {
181        (function (i, s, o, g, r, a, m) {
182            i['GoogleAnalyticsObject'] = r;
183            i[r] = i[r] || function () {
184                (i[r].q = i[r].q || []).push(arguments)
185            }, i[r].l = 1 * new Date();
186            a = s.createElement(o),
187                m = s.getElementsByTagName(o)[0];
188            a.async = 1;
189            a.src = g;
190            m.parentNode.insertBefore(a, m)
191        })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
192
193        ga('create', googleAnalyticsTrackingId, 'auto');
194        ga('send', 'pageview');
195    }
196
197    /*]]>*/
198</script>
198
199
200<script>
201    document.querySelector("input[type='password']").addEventListener("input", function () {
202        this.classList.toggle("filled", this.value.length > 0);
203    });
204
205    function togglePasswordVisibility(button) {
206        var inputId = button.getAttribute("data-target");
207        var input = document.getElementById(inputId);
208
209        if (input.type === "password") {
210            input.type = "text";
211            button.textContent = "Verberg";     // Show -> Hide
212        } else {
213            input.type = "password";
214            button.textContent = "Toon";        // Hide -> Show
215        }
216    }
217</script>
217
218
219<!-- NRCOPS-112 --><!-- script>
220    document.addEventListener('DOMContentLoaded', () => {
221        // const openModalButton = document.querySelector('.button--other-account');
222        // const modal = document.getElementById('login-options-modal');
223        // const closeButtons = modal.querySelectorAll('[data-modal-close]');
224        //
225        // if (openModalButton && modal) {
226        //     openModalButton.addEventListener('click', () => {
227        //         modal.classList.add('modal--visible');
228        //     });
229        // }
230        //
231        // closeButtons.forEach(button => {
232        //     button.addEventListener('click', () => {
233        //         modal.classList.remove('modal--visible');
234        //     });
235        // });
236        //
237        // const overlay = modal.querySelector('.modal-overlay');
238        // if (overlay) {
239        //     overlay.addEventListener('click', (event) => {
240        //         if (event.target === overlay) {
241        //             modal.classList.remove('modal--visible');
242        //         }
243        //     });
244        // }
245
246        const modal = document.getElementById('list-providers');
247
248        const accountButtons = modal.querySelectorAll('.button--other-account-option[data-code]');
249
250        accountButtons.forEach(button => {
251            button.addEventListener('click', () => {
252                const targetUrl = button.dataset.href;
253                if (targetUrl) {
254                    window.location.href = targetUrl;
255                } else {
256                    console.error('Missing href');
257                }
258            });
259        });
260    });
261</script -->
261<script src="https://www.nrc.nl/js/nmt.head.min.js"></script>
261
262<!--[if lt IE 10]>
263<script>
264   // third-party polyfill voor input[placeholder] labels
265   nmt.bottom.push('/js/placeholders.jquery.min.js');
266
267   // eigen polyfill voor input[required] in IE9: stop formsubmit en focus op veld
268   nmt.bottom.push(function() {
269      $('form').on('submit', function(event) {
270
271         var foundEmpty = false;
272         $(this).find('[required]:not(:disabled)').each(function() {
273            if ($(this).val() == '') {  // hier werkt alleen $(this).val() ipv this.value, ivm placeholder polyfill
274               foundEmpty = true;
275               var placeholder = this.getAttribute('placeholder');
276               if (placeholder) {
277                  alert('Fout: vul eerst dit veld in: ' + placeholder);
278               }
279               this.focus();
280               return false; // break .each() loop
281            }
282         });
283
284         if (foundEmpty) {
285            event.preventDefault();
286            return false;
287         }
288      });
289   })
290</script>
290
291<![endif]-->
291<script>
292   // prevent accidental double form-submits by disabling submit-button
293   // (which also disables submits triggered by Enter-key in most browsers)
294   nmt = window.nmt || {};
295   nmt.bottom = nmt.bottom || [];
296   nmt.bottom.push(function () {
297      $('form').on('submit', function(event) {
298         $(this).find('[type="submit"]').prop('disabled', true);
299      });
300   });
301   
302   // Google Tag Manager
303   (function(w,d,s,l,i){
304       w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js' });
305       var f=d.getElementsByTagName(s)[0],
306           j=d.createElement(s),
307           dl=l!=='dataLayer'?'&l='+l:'';
308           j.async=true;
309           j.src='//www.googletagmanager.com/gtm.js?id='+i+dl;
310           f.parentNode.insertBefore(j,f);
311   })(window,document,'script','dataLayer','GTM-M8P34M');
312   // End Google Tag Manager
313
314   // override default nrc.nl chartbeat domain
315   _sf_async_config = window._sf_async_config || {};
316   _sf_async_config.uid = _sf_async_config.uid || 19903;
317   _sf_async_config.domain = 'login.nrc.nl';
318</script>
318
319</body>
320</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.