![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| ProgramerForever |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 15.11.2006 Где: Новосибирск Репутация: 1 Всего: 5 |
Доброго времени суток. Необходимо получить все ссылки внутри фрейма. (в самом документе делается так: var hrefs=document.getElementsByTagName('a');)
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
фрэйм fr1
массив ссылок: fr1.document.links |
|||
|
||||
| ProgramerForever |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 15.11.2006 Где: Новосибирск Репутация: 1 Всего: 5 |
У меня неизвестно имя фрейма. Есть код:
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
раз нет имени, раз нет id, можно хапнуть его за хвост в массиве фрэймов. допустим второй, это frames[1]
ещё я так понимаю, обращение к ссылкам во фрэйм ведётся из другого фрэйма, тогда окончательный адрес будет примерно таким: parent.frames[1].document.links |
|||
|
||||
| ProgramerForever |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 15.11.2006 Где: Новосибирск Репутация: 1 Всего: 5 |
Нет, это скрипт, который я присвою (в Опере) конкретному сайту (чтобы при каждом просмотре сайта он срабатывал), поэтому, ИМХО, обращение к ссылкам во фрейм ведётся с основного документа.
Пробовал
Не выходит.. Это сообщение отредактировал(а) ProgramerForever - 23.12.2008, 12:30 |
|||
|
||||
| ProgramerForever |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 15.11.2006 Где: Новосибирск Репутация: 1 Всего: 5 |
Всё перепробовал, ничего не работает..
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
вот простой пример, который позволяет получить адреса всех ссылок в пределах страницы:
для того чтобы взять за фрэйм достаточно было бы указать xc = document.frames[0].document.links; |
|||
|
||||
| ProgramerForever |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 15.11.2006 Где: Новосибирск Репутация: 1 Всего: 5 |
Получилось сделать так:
(хотя Опера до сих пор ругается, тем же матом...) Теперь делаю так:
И вставляю функцию в Оперу, как пользовательский скрипт для данного узла. Скрипт меняет title документа, но свою основную обязанность не выполняет: Если в первом фрейме (№ 0) или в основном документе есть ссылка, содержащая слова "bonus" или "surf", то нужно по ней перейти. И нужно проверять href второго frame, и, при необходимости, менять его на ссылку на мой сайт.. Это сообщение отредактировал(а) ProgramerForever - 24.12.2008, 17:24 |
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
это как-то связана с коллекцией ссылок и фрэймами?
|
|||
|
||||
| ProgramerForever |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 15.11.2006 Где: Новосибирск Репутация: 1 Всего: 5 |
Как-то странно код себя ведёт... По- моему он запинается на слове
Это разрешённая конструкция? Просто всё, что после этого следует - не выполняется... Странно. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
по-моему он запинается на первой строчке href= - это точно служебное слово. измени оба, пусть будут hrefs1 и href1
ещё, вместо: for(var i=0;i<hrefs.length;i++) лучше напиши var hc = hrefs1.length; for(var i=0; i<hc ;i++) повысит производительность |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |