Eager-loaded frame

Works like the basic frame, but the content is loaded from a remote src first.

Lazy-loaded frame

Like an eager-loaded frame, but the content is not loaded from src until the frame is visible.

<turbo-frame id="contract_<%=contract.id%>" src="/contracts/<%=contract.id%>"
loading="lazy">
  Content will be replaced when the frame becomes visible and /contracts/:id has been loaded.
</turbo-frame>

Loads its content only when the element becomes visible on the screen. This is ideal for improving performance by delaying the loading of non-essential content until it is actually needed.