JS загрузка контента
У меня на сайте все страницы походи и отличаются только текстом в середине, если загружать его таким образом:
Например, ссылка <a href="feed.php"></a> при нажатии на неё бы запускал "аякс" и передавал в файл-обработчик "feed.php", а в файле feed.php не будет не шапки не подвала и т.д., а токо центральный текст, файл обработчик откроет файл file_get_contets`ом и отдаст "аяксу" содержимое и оно вставится в центр. Так вот есть 2 вопроса: 1. Как блокировать переход по ссылке?(т.е., чтобы при нажатии на <a href="feed.php"></a> запускалась только моя функция) 2. Чем-то этот способ загрузки плох? Может для поисковиков вреден или ещё что-то? Помогите пож-та, а то сегодня проснулся и стукнула идея в голову :) Не терпится осуществить) |
|
Не работает:
<script type="text/javascript"> document.getElementsByTagName('A').onclick = function(event) { event = event || window.event if (event.preventDefault) { // Вариант стандарта W3C: event.preventDefault() } else { // Вариант Internet Explorer: event.returnValue = false } } </script> <A href="test.com">sdsdsdsd</A> Почему просто нельзя при onclick сделать return false, но вот как приминить это сразу ко всем ссылкам? А поисковики поддерживают яваскрипт, или они будут игнорировать этот return false и переходить по ссылке? |
Так вы обработчик вешайте после того как создаете элемент.
|
window.onload = function () { document.getElementsByTagName('A').onclick = function(event) { event = event || window.event if (event.preventDefault) { // Вариант стандарта W3C: event.preventDefault() } else { // Вариант Internet Explorer: event.returnValue = false } } }; тоже не работает |
|
Триви, Я как раз так и сделал, как там написано. А если это намёк на то, что нужно указывать элемент, и нельзя сразу все - то это конечно же не подходит.
|
Вот код хороший нашёл, но он не работает( Всё норм, но он не убивает переход по ссылке:
<script type="text/javascript"> window.onload = function () { var type = 'click', // Тип события handler = function () { // Обработчик события alert( elements[0].href ); } attribute = 'class', // Атрибут val = 'foo', // Значение elements = document.querySelectorAll ? document.querySelectorAll('[' + attribute + '="' + val + '"]') : document.getElementByTagName('*'); for ( var i = 0; i < elements.length; i++ ) { if ( elements[i].getAttribute( attribute ) == val ) { if ( elements[i].addEventListener ) { elements[i].addEventListener( type, handler, false ); } else { elements[i].attachEvent( 'on' + type, function () { handler.call( elements[i] ); }) } } } }; </script> <A href="test.com" class="foo">sdsdsdsd</A> Что в него добавить? |
Цитата:
|
Ну я думал будет что-то на подобие jquery) Спасибо, работает. Думаю, на индексацию не влияет, если ссылки оставлять. Но просто почему-то я токого нигде не видел, вот и смущает меня....
|
Часовой пояс GMT +3, время: 00:51. |