Two key browser events: * DOMContentLoaded (fired on document): Fired when the HTML document has been completely loaded and parsed, without waiting for stylesheets, images, and subresources to finish loading. * load (fired on window): Fired when the entire page is fully loaded, including all dependent resources such as stylesheets and images. The requirement states: "... when the webpage is fully loaded with HTML content and all related files." That matches the semantics of the load event on the window object. So the correct code is: window.addEventListener( ' load ' , personalizeWebsiteContent); Why others are incorrect: * A: DOMContentLoaded fires earlier, when HTML is parsed, but before all related files (images, some styles, etc.) are guaranteed to be loaded. * B: ' onDOMContentLoaded ' is not a valid event name; the event is ' DOMContentLoaded ' . * D: When using addEventListener, the event type is ' load ' , not ' onload ' . ' onload ' is the name of the handler property (window.onload = ...), not the event string. Relevant concepts: window.load event, DOMContentLoaded, addEventListener syntax, page load lifecycle.