Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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.5 MB
Время: 0.011 c
2-1140679161
nap<>
2006-02-23 10:19
2006.03.12
TFileStream


2-1140545982
Дмитрий_177
2006-02-21 21:19
2006.03.12
Как лучше хранить координаты точек в файле?


1-1138704330
Counter Terranist
2006-01-31 13:45
2006.03.12
PageControl.TabPosition в ХР


1-1139157092
Ling
2006-02-05 19:31
2006.03.12
Работа со скролами


2-1140589417
Bratskiy
2006-02-22 09:23
2006.03.12
Почему не выводится текст?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский