Просмотр с вкладками Причинение несоответствий Javascript?
В браузере с вкладками (FF 3.5 для меня) я часто открываю ссылки на новых вкладках с помощью CTRL или щелчка средней кнопкой мыши. Когда ссылка содержит функцию Javascript, либо:
- Откроется пустая новая вкладка с
javascript:window.print()
или что у тебя в адресной строке. - Функция выполняется успешно, и открывается новая пустая вкладка.
Дело в том, что это не происходит последовательно для всех функций Javascript. Например:
- Кнопка "Печать" на этой странице при нажатии клавиши CTRL открывает диалоговое окно печати и создает пустую новую вкладку.
- Ссылки на Белую книгу на этой странице при щелчке по CTRL генерируют только пустую новую вкладку.
Указанные ссылки содержат следующий код, соответственно:
javascript:window.print();
javascript:_hbRedirect('PDF Downloads','White Paper','URL.pdf','&c1=TITLE|US-en')
Этот ТАК вопрос несколько похож. Ответ с лучшим рейтингом описывает решение на основе AJAX, но я не смог найти объяснения того, почему некоторые функции Javascript ведут себя по-разному с вкладками по сравнению с другими.
2 ответа
Это происходит потому, что window.print()
уже определен по умолчанию, поэтому он называется нормально.
javascript:_hbRedirect('PDF Downloads','White Paper','URL.pdf','&c1=TITLE|US-en')
ссылка вызывает неопределенную функцию, поэтому ничего не происходит.
JavaScript не должен смешиваться с XHTML. Пусть атрибут href ссылки будет просто страницей или документом, на который вы хотите сослаться. Если вы хотите сделать что-то особенное с тегом, используйте регистрацию событий.
A la MooTools:
a.addEvent ('click', function (e) {
});