Open wbamberg opened 3 years ago
This is the complete list of pages under Web/API that contain a <pre class="js"
block that contains alert(
:
https://developer.mozilla.org/en-US/docs/Web/API/animation/ready https://developer.mozilla.org/en-US/docs/Web/API/attr/localname https://developer.mozilla.org/en-US/docs/Web/API/canvas_api/tutorial/applying_styles_and_colors https://developer.mozilla.org/en-US/docs/Web/API/canvas_api/tutorial/basic_animations https://developer.mozilla.org/en-US/docs/Web/API/canvasrenderingcontext2d/addhitregion https://developer.mozilla.org/en-US/docs/Web/API/clipboard/read https://developer.mozilla.org/en-US/docs/Web/API/console https://developer.mozilla.org/en-US/docs/Web/API/console/timeend https://developer.mozilla.org/en-US/docs/Web/API/console/timelog https://developer.mozilla.org/en-US/docs/Web/API/document/evaluate https://developer.mozilla.org/en-US/docs/Web/API/document/height https://developer.mozilla.org/en-US/docs/Web/API/document/implementation https://developer.mozilla.org/en-US/docs/Web/API/document/lastmodified https://developer.mozilla.org/en-US/docs/Web/API/document/querycommandstate https://developer.mozilla.org/en-US/docs/Web/API/document_object_model/introduction https://developer.mozilla.org/en-US/docs/Web/API/domexception/domexception https://developer.mozilla.org/en-US/docs/Web/API/domimplementation/createdocument https://developer.mozilla.org/en-US/docs/Web/API/domimplementation/createdocumenttype https://developer.mozilla.org/en-US/docs/Web/API/element/getattributenode https://developer.mozilla.org/en-US/docs/Web/API/element/innerhtml https://developer.mozilla.org/en-US/docs/Web/API/element/onfullscreenchange https://developer.mozilla.org/en-US/docs/Web/API/element/requestfullscreen https://developer.mozilla.org/en-US/docs/Web/API/element/setattributenodens https://developer.mozilla.org/en-US/docs/Web/API/eventlistener https://developer.mozilla.org/en-US/docs/Web/API/eventtarget/addeventlistener https://developer.mozilla.org/en-US/docs/Web/API/file/name https://developer.mozilla.org/en-US/docs/Web/API/file/type https://developer.mozilla.org/en-US/docs/Web/API/file/using_files_from_web_applications https://developer.mozilla.org/en-US/docs/Web/API/filereader/onerror https://developer.mozilla.org/en-US/docs/Web/API/geolocation_api/using_the_geolocation_api https://developer.mozilla.org/en-US/docs/Web/API/globaleventhandlers/onerror https://developer.mozilla.org/en-US/docs/Web/API/globaleventhandlers/onkeypress https://developer.mozilla.org/en-US/docs/Web/API/history_api/example https://developer.mozilla.org/en-US/docs/Web/API/html_sanitizer_api https://developer.mozilla.org/en-US/docs/Web/API/htmlanchorelement/rel https://developer.mozilla.org/en-US/docs/Web/API/htmlareaelement/rel https://developer.mozilla.org/en-US/docs/Web/API/htmlcanvaselement/mozfetchasstream https://developer.mozilla.org/en-US/docs/Web/API/htmlimageelement https://developer.mozilla.org/en-US/docs/Web/API/htmllinkelement/rel https://developer.mozilla.org/en-US/docs/Web/API/htmlscriptelement https://developer.mozilla.org/en-US/docs/Web/API/idbobjectstore/getkey https://developer.mozilla.org/en-US/docs/Web/API/indexeddb_api/checking_when_a_deadline_is_due https://developer.mozilla.org/en-US/docs/Web/API/keyboard/getlayoutmap https://developer.mozilla.org/en-US/docs/Web/API/keyboard https://developer.mozilla.org/en-US/docs/Web/API/keyboard_api https://developer.mozilla.org/en-US/docs/Web/API/keyboardevent/altkey https://developer.mozilla.org/en-US/docs/Web/API/keyboardevent/ctrlkey https://developer.mozilla.org/en-US/docs/Web/API/keyboardevent https://developer.mozilla.org/en-US/docs/Web/API/keyboardevent/metakey https://developer.mozilla.org/en-US/docs/Web/API/keyboardevent/shiftkey https://developer.mozilla.org/en-US/docs/Web/API/keyboardlayoutmap/get https://developer.mozilla.org/en-US/docs/Web/API/keyboardlayoutmap https://developer.mozilla.org/en-US/docs/Web/API/mediastreamevent https://developer.mozilla.org/en-US/docs/Web/API/mediastreamevent/stream https://developer.mozilla.org/en-US/docs/Web/API/mediastreamtrack/onoverconstrained https://developer.mozilla.org/en-US/docs/Web/API/microdata_dom_api https://developer.mozilla.org/en-US/docs/Web/API/mouseevent https://developer.mozilla.org/en-US/docs/Web/API/navigator/appversion https://developer.mozilla.org/en-US/docs/Web/API/navigator/oscpu https://developer.mozilla.org/en-US/docs/Web/API/nodefilter/acceptnode https://developer.mozilla.org/en-US/docs/Web/API/nodefilter https://developer.mozilla.org/en-US/docs/Web/API/notification https://developer.mozilla.org/en-US/docs/Web/API/notification/requestpermission https://developer.mozilla.org/en-US/docs/Web/API/notifications_api/using_the_notifications_api https://developer.mozilla.org/en-US/docs/Web/API/pagetransitionevent https://developer.mozilla.org/en-US/docs/Web/API/pointer_lock_api https://developer.mozilla.org/en-US/docs/Web/API/rtcpeerconnection/currentlocaldescription https://developer.mozilla.org/en-US/docs/Web/API/rtcpeerconnection/currentremotedescription https://developer.mozilla.org/en-US/docs/Web/API/rtcpeerconnection/localdescription https://developer.mozilla.org/en-US/docs/Web/API/rtcpeerconnection/onremovestream https://developer.mozilla.org/en-US/docs/Web/API/rtcpeerconnectioniceevent/candidate https://developer.mozilla.org/en-US/docs/Web/API/rtcpeerconnectioniceevent https://developer.mozilla.org/en-US/docs/Web/API/rtcsessiondescription/sdp https://developer.mozilla.org/en-US/docs/Web/API/rtcsessiondescription/tojson https://developer.mozilla.org/en-US/docs/Web/API/rtcsessiondescription/type https://developer.mozilla.org/en-US/docs/Web/API/sanitizer https://developer.mozilla.org/en-US/docs/Web/API/sanitizer/sanitize https://developer.mozilla.org/en-US/docs/Web/API/sanitizer/sanitizer https://developer.mozilla.org/en-US/docs/Web/API/sanitizer/sanitizetostring https://developer.mozilla.org/en-US/docs/Web/API/selection https://developer.mozilla.org/en-US/docs/Web/API/selection/tostring https://developer.mozilla.org/en-US/docs/Web/API/trusted_types_api https://developer.mozilla.org/en-US/docs/Web/API/trustedhtml https://developer.mozilla.org/en-US/docs/Web/API/trustedhtml/tojson https://developer.mozilla.org/en-US/docs/Web/API/trustedhtml/tostring https://developer.mozilla.org/en-US/docs/Web/API/trustedtypepolicy/createhtml https://developer.mozilla.org/en-US/docs/Web/API/trustedtypepolicy https://developer.mozilla.org/en-US/docs/Web/API/trustedtypepolicyfactory https://developer.mozilla.org/en-US/docs/Web/API/urlsearchparams/set https://developer.mozilla.org/en-US/docs/Web/API/videoplaybackquality/totalframedelay https://developer.mozilla.org/en-US/docs/Web/API/web_audio_api/migrating_from_webkitaudiocontext https://developer.mozilla.org/en-US/docs/Web/API/web_workers_api/using_web_workers https://developer.mozilla.org/en-US/docs/Web/API/webgl_api/by_example/clearing_by_clicking https://developer.mozilla.org/en-US/docs/Web/API/webgl_api/by_example/simple_color_animation https://developer.mozilla.org/en-US/docs/Web/API/webgl_api/tutorial/adding_2d_content_to_a_webgl_context https://developer.mozilla.org/en-US/docs/Web/API/webgl_api/tutorial/getting_started_with_webgl https://developer.mozilla.org/en-US/docs/Web/API/webrtc_api/signaling_and_video_calling https://developer.mozilla.org/en-US/docs/Web/API/window/alert https://developer.mozilla.org/en-US/docs/Web/API/window/find https://developer.mozilla.org/en-US/docs/Web/API/window/location https://developer.mozilla.org/en-US/docs/Web/API/window/navigator https://developer.mozilla.org/en-US/docs/Web/API/window/prompt https://developer.mozilla.org/en-US/docs/Web/API/windoworworkerglobalscope/cleartimeout https://developer.mozilla.org/en-US/docs/Web/API/workernavigator/appversion https://developer.mozilla.org/en-US/docs/Web/API/xmldocument/load https://developer.mozilla.org/en-US/docs/Web/API/xmlhttprequest/how_to_check_the_secruity_state_of_an_xmlhttprequest_over_ssl
We might want to replace these as well, but they are not actually broken unless they're in a live sample.
hey can you help me understand the problem i would like to contribute to this thanks
On two of the remaining pages, there are live example using alert()
, like this one: https://developer.mozilla.org/en-US/docs/Web/API/eventtarget/addeventlistener#example_of_options_usage
Such example are bad practice (we should not use alert()
and are not working on some browsers.
The goal is to replace them using a log element that we use to display the alert text instead.
The numerous merged PRs show many examples of such conversion.
thanks for the help @teoli2003 so basically i have to replace alert() with console.log right? and for clear alert() i should do clear message() sorry if this seems silly to you it's my first time and i want it to be right.
No, it is more complex than that. You need to add an element, like <pre id="log">
, and write inside it (using textContent
) instead of using alert(): Using
console.log()` is not enough as the log will be hidden by default.
For clearing the message, you simply set a new value with textContent
.
Of course, positioning the message box may be tricky, and it is likely you'll need to expand the size in {{EmbedLiveSample}}
so that no scrollbar appears.
I took a look at this one MDN/Writing_guidelines/Page_structures/Live_samples
Since the intention of the section is to show a simple example of a JavaScript function, I get the feeling that an alternative to alert()
will be too complex. I was thinking about replacing the alert
with manipulating the text inside the div on click instead, what would you think of something like this?
It's a bit more complex than the original, but still a simple interaction that keeps most elements in the example as is.
const el = document.getElementById("item")
let toggleClick = false
el.onclick = function () {
if (!toggleClick) {
this.textContent = "Owww, stop poking me!"
toggleClick = true
} else {
this.textContent = "Hello world! Welcome to MDN"
toggleClick = false
}
}
Yeah, something like that is what we are looking for.
The https://developer.mozilla.org/en-US/docs/MDN/Writing_guidelines/Page_structures/Live_samples#displaying_a_log_that_appends_items has two examples of how you can create a log to use instead of an alert - one that displays a single "current value" and the other than appends results. This can replace an alert of console.log()
example in most cases
I just realized we have some prompt
too, so I'm adding them to this list:
The first six files in the list belong to the same tutorial, so they should have the same solution. The alert
is used to display the message "Game Over". Would you prefer the simple solution of adding a log below the button with the message or expanding Games/Tutorials/2D_Breakout_game_pure_JavaScript/Game_over somewhat with a gameOver
function that shows the message on an overlay on the game div for a couple of seconds before reload?
I'm not very sure. They were brought into live examples by @bsmth, so perhaps he has some ideas here? I think using a <dialog>
is the right approach.
That was me in https://github.com/mdn/content/pull/32258 which fixed var
etc., but didn't catch alert()
uses. Good idea about <dialog>
, I think we can use that instead.
window.alert()
doesn't work cross-origin in Chrome any more, meaning that any of our live samples that rely onalert()
are now broken.See also https://github.com/mdn/content/issues/7553.
This is (I think) all the live samples in Web/API that use
alert()
in a live sample (list now maintained by @Josh-Cena):Web/API/CanvasRenderingContext2D/addHitRegion(I might have missed some).
In addition, the following ones use
prompt()
and are also broken:We should replace all of these with some alternative. A common alternative is to write the output into an element in the example's document.