Главная страница
    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.014 c
2-1140626927
Дева
2006-02-22 19:48
2006.03.12
перехват нажатия клавиши в консольном приложении


2-1140594863
Wel
2006-02-22 10:54
2006.03.12
Как правильно осуществить переход.


2-1141033977
Azeem
2006-02-27 12:52
2006.03.12
Буфер обмена


2-1140456200
13
2006-02-20 20:23
2006.03.12
Время затраченное на поиск файлов


15-1140379731
TUser
2006-02-19 23:08
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский