![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| arkady347 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 23.3.2009 Репутация: нет Всего: нет |
Можно ли средствами JS сделать так, чтобы все ссылки на HTML странице открывались в новых окнах?
Для этого есть известное решение :
Данный код прописывается в голове HTML страницы, и все ссылки при нажатии открываются в новых окнах. Но возможно ли сделать то же самое через отдельный файлик .js ? Еще лучше, включив код в уже имеющийся в комплекте сайта файл .js ? Я морочился с методом windows.open Но, видимо, чего-то не знаю, пока не получается. |
|||
|
||||
| Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: нет Всего: 191 |
|
|||
|
||||
| arkady347 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 23.3.2009 Репутация: нет Всего: нет |
Спасибо большое за ответ! Только пока проблемка не решена. Создал JS файл с указанным кодом, прописал на ХТМЛ страничке
В итоге ссылки как открывались в том же окне, так и открываются. Все равно СПАСИБО за желание помочь. Это сообщение отредактировал(а) arkady347 - 23.3.2009, 14:19 |
||||
|
|||||
| underW |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 22.9.2008 Репутация: 2 Всего: 3 |
Вот содержание отдельного .js файла:
Вот пример странички:
|
||||
|
|||||
| arkady347 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 23.3.2009 Репутация: нет Всего: нет |
underW Спасибо!
Однако это мне не подходит, поскольку придется вносить изменения в огромное число файлов, писать у каждой ссылки, которых по сотне на странице код onclick="return new_window Мне проще тогда вставить в начало каждой страницы <base target="_blank"> и проблема решится. Но в сайте несколько сотен страниц! Я хочу сделать отдельный файл JS, а точнее включить в уже существующий файл JS код, который бы управлял открытием новых окон по клику на любой из многочисленных ссылок страницы, ничего не привнося нового в теги страниц. По идее вариант, который предложил уважаемый Samotnik, должен бы работать, но я не знаю, почему он не работает. |
|||
|
||||
| underW |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 22.9.2008 Репутация: 2 Всего: 3 |
|
|||
|
||||
| arkady347 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 23.3.2009 Репутация: нет Всего: нет |
Спасибо за участие, underW !
Только этот скрипт тоже не открывает ссылки в новых окнах. |
|||
|
||||
| Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: нет Всего: 191 |
||||
|
||||
| arkady347 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 23.3.2009 Репутация: нет Всего: нет |
Уважаемый Samotnik
Большое тебе спасибо! Поковырялся в первой ссылке около часа, но достиг желаемого результата - адаптировал под свои нужды. Автор же ставил задачу уйти при открытии новых окон от свойства target, которое (автор во второй ссылке считает target "мертвым", статья от 2004 г.), поскольку это свойство не поддерживается доктайпом типа strict. Все лишнее я выкинул из скрипта и выкладываю его здесь:
Лишним были появляющиеся прямо за ссылкой текстовые надписи, указывающие на то, что ссылка будет открыта в новом окне, и искажающие дизайн страницы. Причем это касалось ссылок, которым в тегах страницы присвоен определенный класс. Но этой мороки мне не надо. Проще было бы пойти тогда старым методом с использованием target _blank. Еще раз БОЛЬШОЕ спасибо всем за участие, особенно многоуважаемому Samotnik |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
А так не работает, разве? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| arkady347 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 23.3.2009 Репутация: нет Всего: нет |
ksnk
А вот почему-то не работает. Вы сами-то не проверяли |
|||
|
||||
| Soah |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 512 Регистрация: 18.2.2009 Репутация: 13 Всего: 54 |
? |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
В каком, интересно, броузере не работает?
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| underW |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 22.9.2008 Репутация: 2 Всего: 3 |
да, вот мне тоже интересно, в каком браузере не работает???
я пробывал свой вариант:
и вариант ksnk:
Оба этих варианта рабочие, проверял и в FF, и IE, и Opera.... причем оба варианта размером в 3 строчки, а у тебя целых 44... |
||||
|
|||||
| arkady347 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 23.3.2009 Репутация: нет Всего: нет |
Дорогой ksnk
Мне нужно, чтобы скрипт был не в теле страницы, а в отдельном файле. Именно об этом я писал в самом начале. А предложенный вами, будучи размещен в отдельный JS файл, НЕ работает. Все равно, спасибо! Многоуважаемый Soah СПАСИБО! Ваш вариант открывает ссылки в новых окнах! И он более компактный. Повторю его здесь:
ПРИНОШУ многоуважаемой публике свои извинения. Ввиду нечеткого проведения теста, по невнимательности я поспешил сделать заключение о способности выше упомянутого варианта, размещенного в отдельном файле, открывать линки в новых окнах. Рабоатет пока только вариант из 44 строчек. underW Увы, нет! Браузеры IE, FF, Opera. Скрипт, конечно, работает, но только будучи помещенным в КОНЕЦ html страницы (так же, как и у ksnk ) Thanks a lot everybody! Это сообщение отредактировал(а) arkady347 - 24.3.2009, 15:21 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |