2011-04-14 54 views
1

在Web开发中,通常在单击元素时执行JavaScript。关闭IE9和FireFox4中的JavaScript通知

在Internet Explorer 9和FireFox 4中,左下角弹出一个小小的消息,JavaScript函数将通过单击这些元素来执行。

ASP.NET几乎在向服务器发送请求的每个元素上都使用JavaScript __doPostback(......丑陋的参数名称..)。这个JavaScript自动添加到由ASP.NET控件生成的HTML元素,我无法绕过这个。

例如,ASP.NET DropDownList呈现为HTML Select元素,并将__doPostBack()方法添加到该元素,以便每当用户选择新元素时,服务器都可以处理此操作。

__doPostaback()方法嵌入到许多ASP.NET控件中,并且没有简单的方法来改变它。

我的一个最终用户的评论说,这个新功能使得它感觉好像他们是在“调试模式” ......

所以,我的问题是:我怎么要么使这个弹出显示的东西用户友好...还是有办法告诉浏览器(通过HTML)不要显示这种尴尬?

谢谢!

-Frinny

+0

我建议不要将JavaScript放入链接,而是在元素上使用实际事件侦听器。 – 2011-04-14 19:42:01

+0

ASP.NET会自动将JavaScript插入到开发人员的HTML元素中。如果不付出巨大的努力,我无法改变这一点。这不仅仅是这个JavaScript被添加到的“链接”,下拉列表(HTML选择元素),按钮等等都将这些代码自动插入到它们中。 – Frinavale 2011-04-14 20:01:22

+0

我建议不要使用ASP.NET,而应该编写HTML来控制。 – Raynos 2011-04-14 20:19:19

回答

0

你为什么不使链接的href哈希标签并附通过JavaScript 实际行动:

HTML 
<a id="foo" href="#foo">Foo</a> 

JS 
var foo = document.getElementById('foo'); 
foo.onclick = function(e){ 
    //script foo! 
    return false; 
}; 

您的位置仍然会#foo看起来不错,但实际行动将在foo.onclick函数中。

或者,您可以指定事件内联(<a href="foo" onclick="return foo();">Foo</a>),但我尝试保持与HTML,CSS,& JS明确的MVC分离。

使用hashtag还可以侦听散列更改事件或检查散列标签onload,以便用户仍可以中间单击链接并使其在新选项卡中正常工作。

0

据我所知,还没有一个方法,使之不显示,因为这是浏览器的一部分,而不是网页。

我会做的是在页面顶部创建JavaScript函数,用户可读名称包含其他函数。

+0

谢谢你的回复。这在非ASP.NET开发环境中听起来是可行的...但在这种情况下不太可行。 – Frinavale 2011-04-14 19:41:48

+0

@Frinavale理论上你可以在FF4中的某个地方的'about:config'中关闭它。祝你好运,找到它。 – Raynos 2011-04-14 20:19:45