0

java脚本中alert()函数的替代方法是什么?

我不想使用警报功能,因为它会显示一些消息。

我只想激活一个功能,当我使用 alert() 时,该功能会被激活并显示结果,否则它不会显示任何内容。

请帮忙!

    <script type="text/javascript">

(function () {
    var test = document.createElement('script'); 
    test.type = 'text/javascript'; test.async = true;
    test.src = 'http://mysite.com/plugin/myscript.js';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(test, s);
  alert("hi");

})();

    </script>

所以上面的代码只有在我添加 alert("hi") 时才会运行,否则不会。那么如何激活 myscript.js 代码

4

6 回答 6

4

我觉得是的..

alert = function(msg) {};

现在 alert 什么都不做,也不会显示弹出对话框。

如果您想将任何绑定到alert对话的消息转移到您自己的函数,比如说 - 一个记录器 - 您可以执行以下操作:

function log(msg) {
  console.log(msg);
  yourOwnFunction(); // You can call and functions if you want.
};

alert = log;
alert("Error!");

"Error!"现在出现在控制台日志中而不是弹出窗口中。

编辑

无论如何,您在这里的所有字符串都是文字,为什么不将其放在脚本之前:

<script type="text/javascript" src="http://mysite.com/plugin/myscript.js" async="async"></script>
于 2012-08-22T11:34:26.043 回答
3

您是否正在寻找 alert() 的替代方法?尝试console.log();

于 2012-08-22T11:38:11.783 回答
2

尝试这个

 window.alert = function(x) {
        // this function executed when you call alert function;
        // x=>message given in alert function
 }
于 2012-08-22T11:36:46.290 回答
2

alert你可以用任何你想要的覆盖

window.alert = function(x) {
    customMessageDialog(x);
};

请注意,您将无法模拟 的脚本阻止行为alert,因此替换它可能不安全。

如果您只想在每次发出警报时做一些额外的事情,但仍然使用警报及其阻止特性,您可以执行以下操作:

window.alertOld = window.alert;
window.alert = function(x) {
    customAction(x);
    window.alertOld(x);
};
于 2012-08-22T11:38:01.937 回答
1

没有理由在 2012 年使用警报。您还有很多其他选择:

  1. 浏览器的控制台。尝试console.log()
  2. 使用日志框架。这是一个清单。它们通常会显示div日志消息将显示的位置以及大量过滤它们的选项。
于 2012-08-22T11:38:42.903 回答
0

好吧,如果您想查看函数的结果但不想将其视为警报,请尝试console.log(),它将在 javascript 控制台中显示输出

于 2012-08-22T11:39:12.013 回答