You are specifically asking about bad for mobile web, and most of the answers don't seem to touch on that (they tend to argue whether or not pop-ups are inherently bad, and mostly suggest the same argument applies to mobile or desktop1).
For me, the biggest problem with pop-up alerts or confirmations on a mobile is when they don't (or can't because of space) show enough context about what they are asking to let the user answer the question from the pop-up alone.
To some extent, this is true on both desktops and mobiles. However, the problem is magnified greatly on a mobile:
On a desktop, if you see a pop-up that asks "Are you sure you want to delete this item" you can often either easily see to what item it is referring, or can move the dialog so that you can.
On a mobile, you often won't be able to see enough of the main screen to see what it is referring to, nor is there enough space for you to be able to move the dialog "out of the way".
For simple cases, the solution is to include enough context in the dialog to let the user make the decision. For instance, Google's notes on confirmations linked in another answer indirectly touch on this, but don't really draw attention to it. Their final dialog includes the title about to be deleted:
This contains enough information to not need to see the underlying screen.
The problem comes when there isn't enough space to summarise the action being confirmed. For instance, if instead of just the one book, the user had selected 12 books to be deleted. A dialog on a mobile is unlikely to be able to list all titles in a readable way, so will probably have to settle for "Do you really want to delete the 12 selected titles". Including the count of titles will allow the user to recognise the severity of the action: if they are not 100% sure (or thought they were only deleting two items), they can at least cancel and review the main screen.
It is at this point that it may be better to find alternatives to pop-up confirmations (e.g. making sure that such deletions are reversible).
1 For the record, my views:
I would agree with your assertion that using native alert()
or confirm()
is nearly always bad for the reasons you cite: no control over what the buttons say; no control over the effects of "Prevent this webpage...". I would, however, disagree that "custom" dialogs are a "red flag" though (if you can't use the "built-in" dialogs, you have to use custom ones). However, all this is as true on mobile as desktop.
Overuse of alerts can be intrusive, but in themselves are no more intrusive on a mobile than a desktop (if anything, because of the smaller size of the screen, it's often easier to dismiss a mobile pop-up than on a desktop).