如何编辑 JavaScript 警告框标题?

IT技术 javascript alert
2021-01-17 05:45:43

我在 C# .NET 页面中使用以下代码生成 JavaScript 警报:

Response.Write("<script language=JavaScript> alert('Hi select a valid date'); </script>");

它显示一个警告框,标题为“来自网页的消息”。

标题可以修改吗?

6个回答

不,你不能。

这是一个安全/反网络钓鱼功能。

@Tim 据推测,如果您的警报没有告诉用户他们来自哪个 URL,那么模拟另一个网站会更容易;禁止此自定义会强制 JavaScript 告诉用户这不是合法消息。
2021-03-17 05:45:43
虽然这是一个答案并且事实上是正确的,但我已经确定您可以制作自己的警报版本,并且它会做您想做的事情。一个简单的模式并覆盖警报函数调用。
2021-03-22 05:45:43
这是一个安全/反网络钓鱼功能吗?我很好奇,不争论。
2021-04-04 05:45:43
@Hydrothermal 出于好奇,现在不能通过 CSS 模拟警报行为,如果是这样,允许您更改模式警报标题是否仍然存在很大威胁?
2021-04-04 05:45:43
@Josh 您可以通过大量艰苦的工作来接近,但是本机浏览器警报具有无法模拟的行为,例如冻结浏览器的其余部分,浮动在浏览器 UI 顶部,以及作为一个单独的窗口运行可以拖出浏览器屏幕。创建令人信服的副本非常困难,尤其是因为每个浏览器的警报看起来都不同。
2021-04-04 05:45:43

不,这是不可能的。您可以使用自定义 javascript 警报框。

使用 jQuery 找到了一个不错的

jQuery 警报对话框(警报、确认和提示替换)

顺便说一下,您不能更改标题的原因是为了防止恶意网站诱使用户认为警报来自他们的操作系统或其他东西。
2021-03-19 05:45:43
链接已死。
2021-03-31 05:45:43
注意:另一位用户试图编辑此答案以表明所提供的链接指向检测到恶意软件的站点。
2021-04-06 05:45:43
无意冒犯,但这些警报看起来非常难看。SweetAlert 比这更漂亮。
2021-04-07 05:45:43
谢谢你,但我对使用自定义警报框不感兴趣
2021-04-10 05:45:43

您可以在 IE 中执行此操作:

<script language="VBScript">
Sub myAlert(title, content)
      MsgBox content, 0, title
End Sub
</script>

<script type="text/javascript">
myAlert("My custom title", "Some content");
</script>

(虽然,我真的希望你不能。)

@Chris Fulstow 什么可以解决这个问题
2021-03-22 05:45:43
哇,评论的票数比答案的票数还要多……附议部分答案
2021-03-28 05:45:43
我喜欢 vbscript,我希望 vbscript 与 javascript 一起标准化。这样我就可以在不区分大小写的情况下编写脚本,并且所有流行的浏览器都会服从我的命令 MWHAHAHA
2021-04-07 05:45:43

我发现这个Sweetalert用于自定义标题框 javascript。

例如

swal({
  title: "Are you sure?",
  text: "You will not be able to recover this imaginary file!",
  type: "warning",
  showCancelButton: true,
  confirmButtonColor: "#DD6B55",
  confirmButtonText: "Yes, delete it!",
  closeOnConfirm: false
},
function(){
  swal("Deleted!", "Your imaginary file has been deleted.", "success");
});
是的。如果您愿意,SweeAlert 比您的示例更简单。我刚刚创建了一个 <script 链接到他们的库,并在我的代码中替换了“警报”这个词,就这样!谢谢你。甜蜜推荐!
2021-04-06 05:45:43

覆盖 javascript window.alert() 函数。

window.alert = function(title, message){
    var myElementToShow = document.getElementById("someElementId");
    myElementToShow.innerHTML = title + "</br>" + message; 
}

有了这个,您可以创建自己的alert()功能。创建一个新的“很酷”的对话框(来自一些 div 元素)。

在 chrome 和 webkit 中测试工作,不确定其他人。

什么是someElementId我的意思是哪个标签?
2021-03-12 05:45:43
似乎不再适用于现代浏览器
2021-03-25 05:45:43
someElementId 是您为 HTML 元素设置的任何 id。
2021-03-29 05:45:43