1

在 Web 开发中,JavaScript 通常在单击元素时执行。

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

ASP.NET 在几乎每个向服务器发送请求的元素上都使用了 JavaScript __doPostback(...ugly parameter names..)。此 JavaScript 会自动添加到由 ASP.NET 控件生成的 HTML 元素中,我无法绕过它。

例如,一个 ASP.NET DropDownList 被呈现为一个 HTML Select 元素,并添加了 __doPostBack() 方法,这样每当用户选择一个新元素时,服务器就可以处理这个动作。

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

我的一位最终用户评论说,这个新功能让他们感觉好像处于“调试模式”......

所以,我的问题是:我如何让这个弹出窗口显示一些用户友好的东西......或者有没有办法告诉浏览器(通过 HTML)不要显示这种肮脏?

谢谢!

-弗林尼

4

2 回答 2

0

据我所知,没有办法让它不显示,因为这是浏览器的一部分,而不是页面。

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

于 2011-04-14T19:37:32.483 回答
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 分离。

使用主题标签还使您能够侦听哈希更改事件或检查哈希标签 onload,以便用户仍然可以中键单击链接并使其在新选项卡中正常工作。

于 2011-04-14T19:45:04.773 回答