Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: CL | DM;

Вниз

Как со страницы с фреймами на лету убрать один фрейм не нарушая   Найти похожие ветки 

 
websqlneeder ©   (2005-11-07 21:54) [0]

Как со страницы с фреймами на лету убрать один фрейм не нарушая работу всего сайта? Я делаю собственный клиент для чата для общения с людьми в привате. Так вот мне нужно что бы фрейм с общими сообщениями совсем исчез (что бы трафик не нагружался лишний), а все остальные фреймы оставались: ну там смайлики, ввод сообщения, приват и список посетителей чата.

Как это реализовать?


 
umbra ©   (2005-11-08 10:36) [1]

использовать другую страницу без фрейма


 
WebSQLNeeder ©   (2005-11-08 15:01) [2]

Что значит использовать? Страница то не у меня на компе лежит, а на сервере...

Может есть какая то возможность тупо взять и вырезать <frmame ... ?


 
WebSQLNeeder ©   (2005-11-16 15:18) [3]

..


 
SergP.   (2005-11-16 20:21) [4]

procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
 const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
 Headers: OleVariant; var Cancel: WordBool);
begin
 if TargetFrameName="Имя ненужного фрейма" then cancel:=true;
end;


 
WebSQLNeeder ©   (2005-11-17 10:19) [5]

Теперь вообще страница не загружается :(


 
WebSQLNeeder ©   (2005-11-17 10:59) [6]

SergP. у вас есть мыло или аська, я смотрю вы в ТВебБраузерах разбираетесь - хотелось бы с вами пообщаться...


 
SergP.   (2005-11-17 12:30) [7]

Напиши такую фигню:


procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
 const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
 Headers: OleVariant; var Cancel: WordBool);
begin
 memo1.Lines.add("--------------------------");
 memo1.Lines.Add("  Урл-"+url);
 memo1.Lines.add("имя фрейма-"+TargetFrameName);
end;


Загрузи свою страничку и посмотришь есть ли там фреймы (или нечто подобное) и ихние УРЛы и имена.
Часто бывает что фреймы без имени, тогда их приходится по УРЛу вычислять...

У меня есть анкета, только я пароль не помню...
А мыло sergp5566<собака>rambler.ru


 
WebSQLNeeder ©   (2005-11-17 12:44) [8]

Сделал. Фреймы есть и урлы - но проблема мне кажется то в другом.

Вот когда мы делаем cancel:=true; то это останавливает вообще загрузку документа? Или только этого фрейма?

Практическим путем я попробовал и вроде как весь документ перестает грузиться ...


 
WebSQLNeeder ©   (2005-11-17 12:52) [9]

Ой, понял в чем проблема. Но сразу же встала другая. Дело в том, что на странице находится два вложенных фрейма. И так получилось, что основной фрейм называется main и он включает остальные страницы и имя нужного для удаления фрейма также называется main и вот когда я пытаюсь cancel:=true; применить к main то оно применяется для того самого верхнего фрейма и разумеется ничего больше не грузится.

А как тогда быть, как запретить загрузку именно внутреннего подфрейма?


 
SergP.   (2005-11-18 12:01) [10]


> WebSQLNeeder ©   (17.11.05 12:52) [9]


В таком случае определяй нужный фрейм по УРЛу

procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
 if URL=.... then cancel:=true;
end;


 
WebSQLNeeder ©   (2005-11-18 15:55) [11]

Так вот проблема остается все же как не крути :(

Вот cancel:=true; это отмена загрузки всего документа а не только этого фрейма - я верно понял ?

Потому что я вот попробовал и когда такой фрейм находится то просто останавливается загрузка всех остальных фреймов, которые идут после нужного фрейма. А те фреймы, что были до него успевают загрузиться ...


 
SergP.   (2005-11-18 17:24) [12]

Дай УРЛ того что ты хочешь загрузить и напиши какой фрейм вырубить. Я гляну в чем дело...


 
WebSQLNeeder ©   (2005-11-19 08:49) [13]

Да возьми любой чат и попробуй отключить трафик (загрузку) из фрейма с общими сообщениями - такая проблема актуальна для абсолютно всех чатов. Например, я делаю клиента для http://bizarre.kiev.ua

Мой клиент предназначен для общения людей в привате - так сказать аська но только на основе существующего чата и их людей - и вот мне не нужно что бы мне в программу лезли сообщения из общака - это лишний трафик - а все остальные фреймы должны быть видны - в том числе смайлики, количество людей в комнате и так далее ... И еще нужно так вырезать этот фрейм с общими сообщениями что бы не вылетало сообщение яваскрипт о несуществующем обьекте (это когда я все же вырезал, правда вместе со всеми остальными после него фреймами) то когда происходил рефреш чата и он разумеется попытался обновить этот фрейм с общими сообщениями то просто не нашел его (на сколько я понял) а нужно что бы этот фрейм как бы оставался, но был пустой, потипу about:blank


 
WebSQLNeeder ©   (2005-11-25 09:16) [14]

..


 
nicksss ©   (2005-11-25 12:36) [15]

Мне нужно в Delphi coхранить сайт как текстовый файл (не html, а сам текст)
сайт использует фремы, я пытаюсь к ним достучатся:

for i := 0 to (WebBrowser1.OleObject.Document.frames.Length - 1) do
   memo1.Text:=form1.WebBrowser1.OleObject.Document.frames.item(i).document.queryCommandEnabled("Copy") then
     ShowMessage("copy command is enabled for frame no." + IntToStr(i));


но выдает ошыбку доступа ...
подскажыте пожалуста, как можна выкрутится?


 
umbra ©   (2005-11-25 12:40) [16]

я так понял, что речь идет о серверной стороне, а оно оказывается наоборот. Врядли возможно уменьшить траффик, если на сервере это не предусмотрено. В любом случае после запроса сервер выдает все, что есть на запрошенной странице.


 
websqlneeder ©   (2005-11-27 11:04) [17]

Ну так сервер то выдает, но мы сами можем решать какую страницу загрузить (фрейм), а какой нет ... Вот только как это реализовать ...


 
SergP ©   (2005-11-27 11:32) [18]


> websqlneeder ©   (27.11.05 11:04) [17]
> Ну так сервер то выдает, но мы сами можем решать какую страницу
> загрузить (фрейм), а какой нет ...  
> ...


Там устроено все совсем по другому... фреймы там вообще загружаются один раз при входе в чат. Бывают другие идиотские чаты где полностью все постоянно перезагружается...У них может и можно вырубить что-нить. Но у чата по УРЛу который ты дал совсем другой принцип работы.


 
WebSQLNeeder ©   (2005-11-29 10:56) [19]

И что ничего нельзя придумать как избавиться от загрузки в основной фрейм?? Может какими то обходными путями ... Что то мне ничего в голову не приходит ...



Страницы: 1 вся ветка

Текущий архив: 2006.03.12;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.049 c
4-1134664590
The_scorpion
2005-12-15 19:36
2006.03.12
Функция CreateBitmap


2-1140429835
Officeman
2006-02-20 13:03
2006.03.12
Как развернуть окно другой программы (програмно)


1-1139210575
MetalFan
2006-02-06 10:22
2006.03.12
проблема с кодировкой при копированиии в буфер


6-1132861630
Николай2005
2005-11-24 22:47
2006.03.12
Ошибка 411 при отправке запроса через TIdHTTP методом POST


11-1121599462
KVita
2005-07-17 15:24
2006.03.12
использование TObj