| <!DOCTYPE html> |
| <html> |
| <head> |
| <script> |
| function print(text) { |
| var p = document.createElement('p'); |
| p.textContent = text; |
| document.body.appendChild(p); |
| } |
| </script> |
| </head> |
| |
| <body style="background-color: rgb(255, 255, 255);"> |
| <!-- |
| For details of the options for loading for scripts, see Prepare() in |
| html_script_element.cc, and paragraph 15 in the spec: |
| https://www.w3.org/TR/html5/scripting-1.html#prepare-a-script |
| --> |
| |
| <!-- Option 5: Otherwise(inline script). --> |
| <script> |
| var i = 1; |
| print('i = ' + i); |
| </script> |
| |
| <!-- Option 5: The element has a src attribute. --> |
| <script async src='increment-and-print-i.js'></script> |
| |
| <!-- |
| Option 2: The element has a src attribute, and the element has been flagged |
| as "parser-inserted", and the element does not have an async attribute. |
| --> |
| <script src='increment-and-print-i.js'></script> |
| |
| <!-- Option 6: Otherwise(inline script). --> |
| <script> |
| // Option 4 |
| // The element has a src attribute, does not have an async attribute, and |
| // does not have the "force-async" flag set. |
| a = document.createElement('script'); |
| a.src = 'increment-and-print-i.js'; |
| a.async = false; |
| document.body.appendChild(a); |
| |
| // Option 5 |
| // The element has a src attribute. |
| a = document.createElement('script'); |
| a.src = 'increment-and-print-i.js'; |
| a.async = true; |
| document.body.appendChild(a); |
| |
| print('i = ' + i); |
| </script> |
| </body> |
| |
| </html> |