Javascript警报显示网站网址。如何从javascript警报顶部删除网站网址?

时间:2011-10-18 05:49:36

标签: javascript url alert

javascript警告框显示网址+消息。我没有通过任何东西,但它显示警报框顶部的网址。我怎么能删除这个网址?当我的网站从另一个网站重定向时,该网址会显示。

表示从abc.com重定向到xyz.com和警告框显示xyz.com + msg?

2 个答案:

答案 0 :(得分:2)

  

如何从javascript警告顶部删除网站网址?

你做不到。浏览器添加该内容,以便用户知道该消息不是来自浏览器本身。

您唯一能做的就是完全停止使用alert,而是使用现代技术在页面顶部覆盖元素。您可以自己编写,也可以使用其中的任何“lightbox”库。请注意,这样做会改变您对代码进行编码的方式,因为alert(以及confirmprompt)会使页面上的脚本执行时突然停止 - 屏幕,您不能在自己的代码中执行此操作,因此您必须构建代码以在接收到用户解除框的事件时继续。通常,库会为您提供一个可用于此的回调,例如这个alert代码:

function foo() {
    doSomething();
    alert("Foo!");
    if (x != 42) {
        doSomethingElse();
    }
}

变为

function foo() {
    doSomething();
    someNiftyLightboxThingy("Foo!", function() {
        if (x != 42) {
            doSomethingElse();
        }
    });
}

不难,你只需要习惯它。

你没有拥有来使用库,但这样做可以让你不用担心边缘情况,并可能为你提供更多功能。这是一个相当简单的例子:

HTML:

<input type='button' id='btnPopup' value='Click for Pop-Up'>

CSS:

iframe.shim {
  width:            100%;
  height:           100%;
  position:         absolute;
  left:             0px;
  top:              0px;
  z-index:          100;
  background-color: #fff;
  opacity:          0.5;                 /* Standard */
  filter:           alpha(opacity = 50); /* For IE */
}
div.overlay {
  z-index:          101;
  border:           1px solid black;
  background-color: #ecc;
  position:         absolute;
  left:             100px;
  top:              100px;
}

JavaScript的:

function doVerySimplePopup(text, callback) {
  var shim, div, parent = document.body;

  shim = document.createElement('iframe');
  shim.className = 'shim';
  parent.appendChild(shim);

  div = document.createElement('div');
  div.className = 'overlay';
  div.innerHTML = text;
  parent.appendChild(div);
  div.onclick = function() {
    parent.removeChild(div);
    parent.removeChild(shim);
    if (typeof callback === "function") {
      try { callback(); } catch (e) { }
    }
  };
}

Live example

显然你想要稍微调整一下,再次,这是一个简单的例子,而不是一个完整的解决方案。

答案 1 :(得分:1)

@ T.J。在正常情况下,克劳德的答案是正确的。虽然不完全。有办法绕过这个,并最终获得你想要的东西;

http://htmledit.squarefree.com上测试它,基本上只需在文本框中输入:

<script>alert('whatever');</script>

输出是没有URL的警告框。 似乎与大多数在线HTML编辑工作......

这是简化的;

<iframe id="myIframe" style="display:none;"></iframe>
<script>
var ifrm = document.getElementById('myIframe');
ifrm = ifrm.contentWindow || ifrm.contentDocument.document || ifrm.contentDocument;
ifrm.document.open();
ifrm.document.write('<script>alert("hello world");<\/script>');
ifrm.document.close();
</script>