|
68 | 68 | simple.iframe; |
69 | 69 | simple.on = {}; |
70 | 70 |
|
71 | | - var minimal = {}; |
72 | | - minimal.server = {}; |
| 71 | + var minimal = {}; |
| 72 | + minimal.server = {}; |
73 | 73 | minimal.root; |
74 | 74 | minimal.iframe; |
75 | | - minimal.on = {}; |
| 75 | + minimal.on = {}; |
| 76 | + |
| 77 | + var login = {}; |
| 78 | + login.server = {}; |
| 79 | + login.root; |
| 80 | + login.iframe; |
| 81 | + login.on = {}; |
76 | 82 |
|
77 | 83 |
|
78 | 84 | async function start(){ |
|
85 | 91 | minimal.snippet = mod.minimal; |
86 | 92 | minimal.snippet.initmod({on:minimal.on}); |
87 | 93 |
|
| 94 | + login.snippet = mod.login; |
| 95 | + login.snippet.initmod({on:login.on}); |
| 96 | + |
88 | 97 |
|
89 | 98 | initdom(document.body); |
90 | 99 |
|
|
117 | 126 | #web-page iframe |
118 | 127 | {height:150px;border:1px solid lightgray;box-sizing:border-box} |
119 | 128 |
|
120 | | - |
| 129 | + #login-root iframe |
| 130 | + {height:300px} |
121 | 131 |
|
122 | 132 | </style> |
123 | 133 |
|
@@ -239,8 +249,6 @@ <h4 class=blog-hdr> |
239 | 249 | </div> |
240 | 250 |
|
241 | 251 |
|
242 | | - |
243 | | - |
244 | 252 | <div id=minimal-root class=example-root> |
245 | 253 |
|
246 | 254 | <div class=blog-text> |
@@ -282,6 +290,52 @@ <h4 class=blog-hdr> |
282 | 290 | </div> |
283 | 291 |
|
284 | 292 |
|
| 293 | + <div id=login-root class=example-root> |
| 294 | + |
| 295 | + <div class=blog-text> |
| 296 | + |
| 297 | + <h4 class=blog-hdr> |
| 298 | + http-server-login-example.js |
| 299 | + </h4> |
| 300 | + |
| 301 | + <p> |
| 302 | + This example demonstrates a simple login server, it demonstrates the use of cookies to maintain state. |
| 303 | + </p> |
| 304 | + <p> |
| 305 | + </p> |
| 306 | + <p> |
| 307 | + </p> |
| 308 | + <p> |
| 309 | + </p> |
| 310 | + <p> |
| 311 | + The server is typically accessed via |
| 312 | + <br> |
| 313 | + <a href='http://localhost:3003/home.html' target='_blank'> |
| 314 | + http://localhost:3003/home.html |
| 315 | + </a> |
| 316 | + </p> |
| 317 | + |
| 318 | + <div id=btns> |
| 319 | + <input value=download type=button> |
| 320 | + </div> |
| 321 | + |
| 322 | + </div> |
| 323 | + |
| 324 | + |
| 325 | + <snippet-terminal-console component id=login type=nodejs src='ex/login-server.js' web-console='h=100'></snippet-terminal-console> |
| 326 | + |
| 327 | + |
| 328 | + <div id=web-page> |
| 329 | + <div id=web-page-hdr> |
| 330 | + <img id=web-page-go src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAfCAMAAADHso01AAAARVBMVEVHcEwGBuEGBuEJCdQCAvQFBegDA/ACAvYEBOwBAfgEBeoDBO4BAfgBAvYHCNsNDMEEBeoCAvMCAvQFBuQDBe8AAP4AAfx2UBTrAAAAFXRSTlMANikQ0lym33zxaov36BoGTrnIQZUTyCZ3AAABHUlEQVQoz41T2Q7DIAwjlJty9Mr/f+oWoB2snbQ8ITmXY8PYvzGBNN4bCdMDyM1qEY/jQLsa/l1pdMFKIGozdODLhbWEBaiooiBGlEIA23wqtSeKJdpbmLAQPClsE5WT0imNZ+5K3V0tsL7ty71t+SIyFqk1YpCfTWWoDQiWVIyz7Jm4CmvOUpmMKg0863qBv3uXwVuHXjwDMLD0WPsrgVm0JYrvojwTrMYbp7g5JazNTBZ4f1aQP1d3g+6z+3jYnIZDI5rUceNNd/OtnywkZ9ejOSCq2HUfbp41sV6qRK7s/lEsmqoIVra93jm7vbkOxSmwuCyC82kr1HDToDOj3gan4mBUXOHb5x0cfHz8JUVG4eHHH9t377bp72/5Al4LH5UQD4MbAAAAAElFTkSuQmCC'> |
| 331 | + <input id=web-page-url> |
| 332 | + </div> |
| 333 | + <iframe></iframe> |
| 334 | + </div> |
| 335 | + |
| 336 | + |
| 337 | + </div> |
| 338 | + |
285 | 339 |
|
286 | 340 | <div class=blog-text> |
287 | 341 |
|
@@ -334,6 +388,11 @@ <h4> |
334 | 388 | $(minimal.root,'#web-page-go').onclick = btn.go; |
335 | 389 | minimal.iframe = $(minimal.root,'iframe'); |
336 | 390 |
|
| 391 | + login.root = $('#login-root'); |
| 392 | + $(login.root,'[value=download]').onclick = btn.download; |
| 393 | + $(login.root,'#web-page-go').onclick = btn.go; |
| 394 | + login.iframe = $(login.root,'iframe'); |
| 395 | + |
337 | 396 |
|
338 | 397 | }//initdom |
339 | 398 |
|
|
347 | 406 |
|
348 | 407 | case 'simple' : return simple; |
349 | 408 | case 'minimal' : return minimal; |
| 409 | + case 'login' : return login; |
350 | 410 |
|
351 | 411 | }//switch |
352 | 412 |
|
@@ -425,6 +485,18 @@ <h4>It Works!</h4> |
425 | 485 | `}}, |
426 | 486 | }; |
427 | 487 |
|
| 488 | + login.on['server-ready'] = function({url,port}){ |
| 489 | + console.log('server-ready',url,port); |
| 490 | + login.server.url = url; |
| 491 | + login.server.port = port; |
| 492 | + |
| 493 | + var path = '/home.html'; |
| 494 | + $(login.root,'#web-page-url').value = path; |
| 495 | + |
| 496 | + login.iframe.src = `${url}${path}`; |
| 497 | + |
| 498 | + }//server-ready |
| 499 | + |
428 | 500 |
|
429 | 501 | </script> |
430 | 502 |
|
|
0 commit comments