是否可以在 之后更改Javascript警告中的文字?
例如,是否可以在警报内创建计时器?
┌────────────────────────┐
│ x seconds passed... │
│ <OK> │
└────────────────────────┘
...其中x
将从0
更改为传递的秒值。
我知道我可以使用模态或其他东西,但我想知道是否可以在出现后从警告框中更改文本。
我想这不可能,但最好问一下。
答案 0 :(得分:2)
经过一些初步搜索,似乎不可能做你想做的事。这主要是出于安全原因,我认为。
建议不要使用警告框,因为(WebPlatform):
- 这是一个同步方法调用。意思是,调用此方法会暂停此方法所在窗口的脚本执行 调用,直到用户关闭显示的对话框。另外,取决于 您的交叉表/窗口使用情况,这有时会暂停脚本编写 执行来自同一域的其他窗口/标签。
- 在某些浏览器中调用此方法可防止用户与整个浏览器或浏览器窗口(以及所有浏览器窗口)进行交互 它的标签),直到对话框关闭。
- 侵入式对话框通常会让用户烦恼。
您可以使用以下方法之一创建自己的对话框:
你总是会有一个警告:“嘿,看看这里,用户,我想告诉你什么!”然后使用上述之一。
另一种选择是使用JavaScript
创建弹出窗口 window.open("http://example.com");
或
您可以使用showModelDialog
或showModelessDialog
您可以使用dialogArguments
,dialogHeight
,dialogWidth
,dialogLeft
和dialogTop
。
但问题在于大多数人都有弹出窗口拦截器会阻挡你无辜的弹出窗口。
仅限ActiveX 的可能性似乎是Modified Alert Box。我没有测试过这个,因为我没有Windows电脑。
还有nsIPromptService个alert
和/或alertCheck
。这些似乎提供了更多功能,例如添加标题或复选框。还有提示,选择等。
不幸的是,这个似乎不适用于Javascript 。它似乎只适用于firefox扩展等(Chrome用户)。
答案 1 :(得分:1)
我不这么认为,因为它是一个浏览器生成的对话框。出于明显的安全原因,我们可能无法访问它
答案 2 :(得分:1)
我们说“不”。只是没有API开始这样做,也没有打算这样做。
此外,JS是单线程&amp;在window.alert()
或confirm()
期间被阻止。似乎非常直截了当地说这是可证明是不可能的,在JavaScript语言中工作。
使用jQuery模式或其他。
答案 3 :(得分:0)
您可以设置一个看起来像浏览器警报的模式框,并根据需要进行操作。警报框等浏览器组件无法自定义。
答案 4 :(得分:0)
无法自定义警报。您可以尝试Simple Modal dialog from YUI。您可以按自己的方式自定义它。还有其他第三方组件可供选择,或者您可以自己制作。
答案 5 :(得分:0)
显示后无法修改。如果您不惜任何代价这样做,请选择自定义警报框解决方案。