можно ли и как запретить фрейму загрузку страниц?

Статус
В этой теме нельзя размещать новые ответы.

smartello

Новичок
можно ли и как запретить фрейму загрузку страниц?

У меня возникла серьёзная заморочка.

Я вынужден имитировать клики на странице, загруженной во фрейм.
Для этого я беру объект:

element = framedoc.elementFromPoint(x,y);

а потом

element.click();

Всё отлично, скрипты работают. Но как предотвратить загрузку во фрейм другой страницы. Начиная от тривиального клика по ссылке и заканчивая каким-нибудь жёстким изменением window.location по таймеру. Слишком много случаев чтобы ковырять их перебором.

Доступ к жаваскрипту находящихся во фрейме страниц имеется.

Заранее спасибо за помощь
 

Zetruger

ivan.chistyakov.name
element = framedoc.elementFromPoint(x,y);
а потом
element.click();
вы уверены что это быдет работать в Opere ну или хотя бы в Firefox? для чего вообще это нужно?

Но как предотвратить загрузку во фрейм другой страницы
выражайтесь яснее
страницы сами по себе не загружаются...
 
Зачем делать фрейм там где нужен обычный "статичный" html ? А во вторых - ведь именно вы определяете куда загружать новые страницы параметром "target". Или я не понял вопроса.
 

smartello

Новичок
вы уверены что это быдет работать в Opere ну или хотя бы в Firefox?
Нужна работа только под эксплорером. в других работать не будет (теоетически) так как elementFromPoint() - это самодеятельность майкрософт.

выражайтесь яснее
Когда я имитирую клик - активным элементом может оказаться что угодно, в том числе и ссылка и кнопка которая делает сабмит и т.д. и т.п.

Зачем делать фрейм там где нужен обычный "статичный" html ?
фрейм нужен, потому что по идее страница внутри любая и с любого домена (на деле все наши, но они достаточно разные) и вести она себя должна как отдельно взятая страница

именно вы определяете куда загружать новые страницы параметром "target"
В результате выполнения скрипта или имитации нажатия на ссылку, страница во фрейме сама начинает менять содержимое фрейма. таргеты там проставлены не мной и уже очень давно. Мне надо просто чтобы все попытки что либо загрузить проходили бы вхолостую. ну что-то вроде target=null (хорошо бы если бы было такое :( ). А ещё лучше бы чтобы такие вещи как сабмит формы и вовсе не поисходили.
 

Zetruger

ivan.chistyakov.name
какой смыл то кликать по странице

что-бы не произошел переход, кнопки можно заблокировать, а в ссылках прописать href="#" (все это можно сделать динамический)

хотя не уверен что IE разрешит обращение к свойствам страницы во фрейме из другого домена
 

smartello

Новичок
смысл кликать такой что там могут выполняться скрипты, например отображающие что-либо... ну правда, надо :)

кнопки заблокировать - это мысль, хотя опять же онклик может содержать что-то полезное :(

если в ссылках прописать # - всё-равно грузятся. Потому что фрейм подгружает страницу через прокси, иначе нельзя ничего со страницей делать. Нужно её грузить на свой домен.

-~{}~ 25.07.07 16:41:

хотя заменить все ссылки я могу - это хорошая идея. А вот что делать с онкликом у кнопок или с онсабмит у формы. Хотелось бы чтобы эти события выполнялись, но на них всё и заканчивалось бы
 

iamFake

Mind Of Liberty
Автор оригинала: smartello
ну правда, надо
ну надо так надо, твоя проблема - и решай сам, раз не хочеш нормально объяснить ситуацию... у меня сложилось 2 мнения...

1) воровство контента
2) идиотизм

ни то ни другое имхо тут обсуждаться опытными людьми не будет...
 

Zetruger

ivan.chistyakov.name
да примерно также, ставишь на форму webbrowser и генеришь события кликая по нему
 

smartello

Новичок
нет, как можно было бы запретить webbrowser'у совершать переходы по страницам в результате этих кликов?)
 

Zetruger

ivan.chistyakov.name
smartello
ну я не помню точно, давно в delphi не работал, но уж там возможностей-то побольше будет, чем на javascript писать
 

smartello

Новичок
я просто чем больше работаю с ЖС - тем больше понимаю, что умеет он ооочень много. Особенно если делаешь под определённый браузер.

По теме: чё-то клик по ссылке не вызывает её онклик))) зато его можно вызвать напрямую, как и онсабмит, как и онмаусдаун и т.д. походу это всё руками прописать можно и все дела. непосредственно тык мышкой делать не нужно

2Zetruger:
Спасибо за помощь.
 
Короче я точно не помню, но есть кажется такая вещь linksArr = getElementsByTagName("ну например img") - возвращает array. делаешь это на onload фрейма, прокручиваешь этот массив в цикле, последовательно делая что-нибудь вроде linksArr.href = null или вовсе его удалить(removeAttribute("href")). У button`ов можно удалить/изменить атрибут onclick. С submit`ами что ? их вообще через removeChild(), т.е. все теги <input type="submit">. Больше мыслей у меня нету. Но помоему вы конечно бредом занимаетесь, если то что вы сказали правда.
 

tf

крылья рулят
да, имитация деятельности человека. СЕОшная тема.
помоему тему пора закрывать
помоему, тема - аля как мне обманывать людей платящих мне деньги
 

AmdY

Пью пиво
Команда форума
smartello, все что во фрейме перекрывай прозрачным дивом и пускай кликают сколько угодно, и не спрашивай как, есть куча примеров в сети, так AJAX загрузку отображают
tf, согласен, сдесь плохо пахнет.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху