Отключите уведомления JavaScript в IE9 и FireFox4.

В веб-разработке JavaScript часто выполняется при нажатии на элементы.

Как в Internet Explorer 9, так и в FireFox 4 в левом нижнем углу появляется небольшое сообщение с функцией JavaScript, которая будет выполняться при нажатии на элементы этих элементов.

ASP.NET использует JavaScript __doPostback(...уродливые имена параметров..) почти для каждого элемента, который отправляет запрос на сервер. Этот код JavaScript автоматически добавляется к HTML-элементам, генерируемым элементами управления ASP.NET, и у меня нет возможности обойти это.

Например, ASP.NET DropDownList отображается как элемент HTML Select, и к нему добавляется метод __doPostBack(), чтобы всякий раз, когда пользователь выбирает новый элемент, сервер мог обрабатывать это действие.

Метод __doPostaback() встроен во многие элементы управления ASP.NET, и нет простого способа его изменить.

Один из моих конечных пользователей прокомментировал, что эта новая функция создает ощущение, что они находятся в «режиме отладки»...

Итак, мой вопрос: как сделать, чтобы это всплывающее окно отображало что-то удобное для пользователя... или есть способ сказать браузеру (через HTML), чтобы он не отображал эту гадость?

Спасибо!

-Фринни


person Frinavale    schedule 14.04.2011    source источник
comment
Я предлагаю не использовать JavaScript в ваших ссылках, а вместо этого использовать фактические прослушиватели событий для элементов.   -  person Rocket Hazmat    schedule 14.04.2011
comment
ASP.NET автоматически вставляет JavaScript в элементы HTML для разработчика. Я не могу изменить это без огромных усилий. Этот код JavaScript добавляется не только к ссылкам, выпадающим спискам (элементы выбора HTML), кнопкам и т. д., в которые автоматически вставляется этот код.   -  person Frinavale    schedule 15.04.2011
comment
Я предлагаю не использовать ASP.NET и вместо этого писать HTML, который вы можете контролировать.   -  person Raynos    schedule 15.04.2011
comment
Ха-ха :) Хороший. Если бы это было простое приложение, я бы его рассмотрел. Но он не совсем маленький или простой.   -  person Frinavale    schedule 15.04.2011


Ответы (2)


Почему бы вам не сделать 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>), но я стараюсь четко отделять MVC от HTML, CSS и JS.

Использование хэштега также дает вам возможность прослушивать события изменения хеш-функции или проверять загрузку хэш-тега, чтобы пользователь мог по-прежнему щелкнуть среднюю ссылку по ссылке и обеспечить ее правильную работу в новой вкладке.

person zzzzBov    schedule 14.04.2011

Насколько мне известно, нет способа сделать так, чтобы он не отображался, так как это часть браузера, а не страницы.

Что бы я сделал, так это создал функции javascript в верхней части страницы с удобочитаемыми именами, которые содержат другие функции внутри.

person bmbaeb    schedule 14.04.2011
comment
Спасибо за ваш ответ. Это звучит осуществимо в среде разработки, отличной от ASP.NET... но не так осуществимо в этом случае. - person Frinavale; 14.04.2011
comment
Теоретически @Frinavale можно отключить в about:config где-то в FF4. Удачи в поиске. - person Raynos; 15.04.2011