Форум: "Сети";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
ВнизКак со страницы с фреймами на лету убрать один фрейм не нарушая Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.012 c