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, время: 06:56. |