pub struct Script;Expand description
The <script> element - embeds or references executable code.
§Purpose
The <script> element embeds executable code or data, or references an external script
file. Primarily used for JavaScript, it enables dynamic behavior, interactivity, and
client-side functionality in web pages. Scripts can be inline or loaded from external files.
§Content Categories
- Metadata Content
- Flow Content
- Phrasing Content
- Script-supporting Element
§Permitted Content Model
- If no
srcattribute: inline script content matching thetype - If
srcattribute: no content or only comments and whitespace
§Common Use Cases
- Adding interactivity to web pages
- Manipulating the DOM dynamically
- Handling user events and input
- Making AJAX requests and fetching data
- Implementing client-side application logic
§Key Attributes
src: URL of external script filetype: MIME type of the script (default: “text/javascript”)async: Execute asynchronously (for external scripts)defer: Defer execution until document parsing is completecrossorigin: CORS settings for script fetchingintegrity: Subresource integrity hash for securityreferrerpolicy: Referrer policy for script requestsnomodule: Execute only in browsers that don’t support ES modulesnonce: Cryptographic nonce for Content Security Policy
§Example
<!-- External script -->
<script src="/js/app.js"></script>
<!-- External script with async loading -->
<script src="/js/analytics.js" async></script>
<!-- External script with deferred execution -->
<script src="/js/init.js" defer></script>
<!-- Inline script -->
<script>
console.log('Hello, World!');
document.addEventListener('DOMContentLoaded', function() {
// Initialize app
});
</script>
<!-- ES6 module -->
<script type="module">
import { init } from './modules/app.js';
init();
</script>
<!-- Script with integrity check -->
<script src="https://cdn.example.com/library.js"
integrity="sha384-ABC123..."
crossorigin="anonymous"></script>
<!-- JSON-LD structured data -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Company"
}
</script>§WHATWG Specification
Trait Implementations§
Source§impl HtmlElement for Script
impl HtmlElement for Script
impl CanContain<Script> for Dl
impl CanContain<Script> for Head
impl CanContain<Script> for Hgroup
impl CanContain<Script> for Menu
impl CanContain<Script> for Ol
impl CanContain<Script> for Optgroup
impl CanContain<Script> for Picture
impl CanContain<Script> for Select
impl CanContain<Script> for Table
impl CanContain<Script> for Tbody
impl CanContain<Script> for Tfoot
impl CanContain<Script> for Thead
impl CanContain<Script> for Tr
impl CanContain<Script> for Ul
impl CanContain<Text> for Script
impl FlowContent for Script
impl MetadataContent for Script
impl PhrasingContent for Script
impl ScriptSupporting for Script
Auto Trait Implementations§
impl Freeze for Script
impl RefUnwindSafe for Script
impl Send for Script
impl Sync for Script
impl Unpin for Script
impl UnwindSafe for Script
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more