更改Javascript警报中的文本

时间:2013-08-20 05:35:20

标签: javascript jquery

是否可以在 之后更改Javascript警告中的文字?

例如,是否可以在警报内创建计时器?

┌────────────────────────┐
│ x seconds passed...    │
│                   <OK> │
└────────────────────────┘

...其中x将从0更改为传递的秒值。

我知道我可以使用模态或其他东西,但我想知道是否可以在出现后从警告框中更改文本。

我想这不可能,但最好问一下。

6 个答案:

答案 0 :(得分:2)

经过一些初步搜索,似乎不可能做你想做的事。这主要是出于安全原因,我认为。

建议不要使用警告框,因为(WebPlatform):

  
      
  • 这是一个同步方法调用。意思是,调用此方法会暂停此方法所在窗口的脚本执行   调用,直到用户关闭显示的对话框。另外,取决于   您的交叉表/窗口使用情况,这有时会暂停脚本编写   执行来自同一域的其他窗口/标签。
  •   
  • 在某些浏览器中调用此方法可防止用户与整个浏览器或浏览器窗口(以及所有浏览器窗口)进行交互   它的标签),直到对话框关闭。
  •   
  • 侵入式对话框通常会让用户烦恼。
  •   

您可以使用以下方法之一创建自己的对话框:

你总是会有一个警告:“嘿,看看这里,用户,我想告诉你什么!”然后使用上述之一。


另一种选择是使用JavaScript

创建弹出窗口

window.open("http://example.com");

您可以使用showModelDialogshowModelessDialog

您可以使用dialogArgumentsdialogHeightdialogWidthdialogLeftdialogTop

但问题在于大多数人都有弹出窗口拦截器会阻挡你无辜的弹出窗口。


仅限ActiveX 的可能性似乎是Modified Alert Box。我没有测试过这个,因为我没有Windows电脑。


还有nsIPromptServicealert和/或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)

显示后无法修改。如果您不惜任何代价这样做,请选择自定义警报框解决方案。