Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.09.2011, 22:06
Аватар для MCTrane
Профессор
Отправить личное сообщение для MCTrane Посмотреть профиль Найти все сообщения от MCTrane
 
Регистрация: 26.11.2009
Сообщений: 204

JS загрузка контента
У меня на сайте все страницы походи и отличаются только текстом в середине, если загружать его таким образом:
Например, ссылка <a href="feed.php"></a>
при нажатии на неё бы запускал "аякс" и передавал в файл-обработчик "feed.php", а в файле feed.php не будет не шапки не подвала и т.д., а токо центральный текст, файл обработчик откроет файл file_get_contets`ом и отдаст "аяксу" содержимое и оно вставится в центр.
Так вот есть 2 вопроса:
1. Как блокировать переход по ссылке?(т.е., чтобы при нажатии на <a href="feed.php"></a> запускалась только моя функция)
2. Чем-то этот способ загрузки плох? Может для поисковиков вреден или ещё что-то?
Помогите пож-та, а то сегодня проснулся и стукнула идея в голову Не терпится осуществить)
Ответить с цитированием
  #2 (permalink)  
Старый 24.09.2011, 22:22
Профессор
Отправить личное сообщение для Триви Посмотреть профиль Найти все сообщения от Триви
 
Регистрация: 23.04.2010
Сообщений: 354

1. Действие браузера по умолчанию

по второму пункту не подскажу, ещё не разбирался
Ответить с цитированием
  #3 (permalink)  
Старый 24.09.2011, 22:31
Аватар для MCTrane
Профессор
Отправить личное сообщение для MCTrane Посмотреть профиль Найти все сообщения от MCTrane
 
Регистрация: 26.11.2009
Сообщений: 204

Не работает:
<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 и переходить по ссылке?

Последний раз редактировалось MCTrane, 24.09.2011 в 22:45.
Ответить с цитированием
  #4 (permalink)  
Старый 24.09.2011, 22:39
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Так вы обработчик вешайте после того как создаете элемент.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #5 (permalink)  
Старый 24.09.2011, 22:56
Аватар для MCTrane
Профессор
Отправить личное сообщение для MCTrane Посмотреть профиль Найти все сообщения от MCTrane
 
Регистрация: 26.11.2009
Сообщений: 204

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
    }
}
};

тоже не работает
Ответить с цитированием
  #6 (permalink)  
Старый 24.09.2011, 23:11
Профессор
Отправить личное сообщение для Триви Посмотреть профиль Найти все сообщения от Триви
 
Регистрация: 23.04.2010
Сообщений: 354

http://javascript.ru/tutorial/dom/search#poisk-po-tegu
Ответить с цитированием
  #7 (permalink)  
Старый 24.09.2011, 23:16
Аватар для MCTrane
Профессор
Отправить личное сообщение для MCTrane Посмотреть профиль Найти все сообщения от MCTrane
 
Регистрация: 26.11.2009
Сообщений: 204

Триви, Я как раз так и сделал, как там написано. А если это намёк на то, что нужно указывать элемент, и нельзя сразу все - то это конечно же не подходит.
Ответить с цитированием
  #8 (permalink)  
Старый 24.09.2011, 23:19
Аватар для MCTrane
Профессор
Отправить личное сообщение для MCTrane Посмотреть профиль Найти все сообщения от MCTrane
 
Регистрация: 26.11.2009
Сообщений: 204

Вот код хороший нашёл, но он не работает( Всё норм, но он не убивает переход по ссылке:
<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>

Что в него добавить?

Последний раз редактировалось MCTrane, 24.09.2011 в 23:21.
Ответить с цитированием
  #9 (permalink)  
Старый 24.09.2011, 23:27
Профессор
Отправить личное сообщение для Триви Посмотреть профиль Найти все сообщения от Триви
 
Регистрация: 23.04.2010
Сообщений: 354

Сообщение от MCTrane Посмотреть сообщение
Триви, Я как раз так и сделал, как там написано. А если это намёк на то, что нужно указывать элемент, и нельзя сразу все - то это конечно же не подходит.
А перебрать все слабо что ли, не пойму?
Ответить с цитированием
  #10 (permalink)  
Старый 24.09.2011, 23:35
Аватар для MCTrane
Профессор
Отправить личное сообщение для MCTrane Посмотреть профиль Найти все сообщения от MCTrane
 
Регистрация: 26.11.2009
Сообщений: 204

Ну я думал будет что-то на подобие jquery) Спасибо, работает. Думаю, на индексацию не влияет, если ссылки оставлять. Но просто почему-то я токого нигде не видел, вот и смущает меня....
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение контента в файл через JS fdcore Общие вопросы Javascript 10 18.12.2014 15:23
Загрузка Изображения! JS Severtain Общие вопросы Javascript 12 08.07.2011 21:31
Загрузка контента без перезагрузки страницы vah-smile AJAX и COMET 3 30.03.2011 16:37
Загрузка дополнительного js кода с сервера Anonymous2008 Общие вопросы Javascript 5 20.11.2008 12:33
Загрузка файла средставми js twolf Общие вопросы Javascript 8 21.10.2008 18:34