Форум: "Основная";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];
ВнизTwebbrowser ? Найти похожие ветки
← →
Sego (2002-10-15 14:46) [0]Уважаемые мастера!
Есть простенькая процедурка.
procedure TForm1.Button1Click(Sender: TObject);
begin
webbrowser1.Navigate("\\192.168.0.1\c1\koг\log021015.txt");
end;
Интересует следующие вопросы...
1)Как сделать, чтоб после загрузки файла, курсор становился в конце документа и после вторичной загрузки или Refresh тоже.?
2) Cut и Copy работали в Twebbrowser ?
В интернете нашел простую рекомендацию по 2-му вопросу :
"нужно добавить следующие строки в начало unit:
initialization
OleInitialize(nil);
finalization
OleUninitialize;", но к сожаленью это не дало результатов, может я не правильно применял, куда эти строки писать и почему ругается на OleInitialize и OleUninitialize, что я неправильно делаю?
← →
gek (2002-10-15 14:51) [1]> 1)Как сделать, чтоб после загрузки файла, курсор становился в конце документа и после вторичной загрузки или Refresh тоже.?
Я что-то не видел курсоров, кроме как в полях ввода данных
Может скроллинг страницы?
← →
Sego (2002-10-15 14:53) [2]2 gek
Да скролинг, думал о двойном выводе в мемо или webbrowser, вот и ошибся.
Конечно скролинг.
← →
smok_er (2002-10-15 14:59) [3]2) эти строки нужно добавить в конец юнита
← →
gek (2002-10-15 14:59) [4]можно на jscript - window.scroll
← →
smok_er (2002-10-15 15:01) [5]В тему спрошу заодно и я - как сделать так, чтобы работали Tab и Enter?
← →
Sego (2002-10-15 15:02) [6]2 smok_er
не знаю ругается по-прежнему, кинь сюда плз. кусок кода, как у тебя и не ругается?
← →
Sego (2002-10-15 15:04) [7]2 gek © (15.10.02 14:59)
и куда этот jscript пихать?
← →
gek (2002-10-15 15:09) [8]uses
ActiveX
........................
initialization
OleInitialize(nil);
finalization
OleUninitialize;
end.
> и куда этот jscript пихать?
на окончание загрузки страницы
и enter и tab работают нормально
← →
Sego (2002-10-15 23:03) [9]2 gek © (15.10.02 15:09)
Спасибо !
uses
ActiveX... протормозил, впрочем это как обычно(на меня похоже).
А по поводу скриптов можно попонятней, а то я совсем ничего об этом не знаю.
Заранее благодарен.
← →
int64 (2002-10-16 00:47) [10]Правильно, документ можно позиционировать window.scroll. Только совсем необязательно оформлять это в скрипт и пихать в текст документа. Можно то же вызвать и из программы. Например:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
WebBrowser1.OleObject.Document.parentWindow.scroll(0,10000);
end;
← →
smok_er (2002-10-16 01:43) [11]2gek
>>и enter и tab работают нормально
Sorry. Tab вроде как работает, а вот Enter - не хочет. Вернее он работает не совсем так, как надо.
Пример:
Страница авторизации. Воодим логин и пароль, и находясь в поле ввода пароля нажимаем Enter. Происходит автоматическое нажатие кнопки, на которую нужно нажать для авторизации.
А у меня она почему-то не нажимается. Пользуюсь EmbeddedWB. В нем есть процедура EnableMessageHandler. Но не работает, потому что все вызовы заключены в блоки проверки версии компилятора. Т.е. работает только под D4. :(
← →
int64 (2002-10-16 02:35) [12]
> не работает, потому что все вызовы заключены в блоки проверки
> версии компилятора
Ну, так убери ограничения - посмотри, что будет. Должно работать.
← →
smok_er (2002-10-16 02:54) [13]Неа, не работает. Во-превых начал ругаться, во-вторых, после небольшой правки кода - не работает
← →
int64 (2002-10-16 03:37) [14]В IEMessageHandler не предусмотрен случай для <Enter> - сам вставь.
И почему б тебе не использовать анологичный код из факов с IOleInPlaceActiveObject? Разницы с EmbeddedWB почти никакой, но никто не жаловался.
← →
smok_er (2002-10-16 03:44) [15]Весь интернет перерыл - не смог ничего найти. Кстати, этих факов тоже нет. Можете дать ссылку?
← →
int64 (2002-10-16 04:08) [16]http://members.shaw.ca/iedelphi/webbrowser.htm
Хотя встречал тоже-самое и на русском.
В примере, кстати, тоже нет для Enter.
← →
sego (2002-10-17 00:01) [17]2 int64 © (16.10.02 00:47)
спасибо!
я только попробывал
WebBrowser1.OleObject.Document.parentWindow.scrollby(0,10000);
а не просто scroll, не знаю играет ли это роль...
Вопрос в догонку, а можно определить количество загруженых строк или хотя бы позицию, последней?
Заранее благодарен.
← →
smok_er (2002-10-17 01:54) [18]>>В примере, кстати, тоже нет для Enter.
Я пользуюсь EmbeddedWB ( http://www.euromind.com/iedelphi)
В нем есть функция EnableMessageHandler. Именно про нее я и говорил.
В общем, спасибо за ответ, но вопрос все таки остается открытым.
Кстати, вопрос на засыпку... Есть ли способ перехватить диалог сохранения файла на диск? Т.е. замысел следующий - узнать урл, не дать появиться окошку, подставить собственный (или другой, установленный на компьютере) download manager.
Вот кусок кода:
function TfrMain.OnQueryService(const rsid, iid: TGUID; out Obj: IUnknown): HRESULT;
var
iedlMain: IDownloadManager;
begin
if IsEqualGuid(rsid, IID_IDownloadManager) then
begin
obj:= iedlMain as IDownloadManager;
Result:= S_OK;
end
else
begin
Result := E_NOINTERFACE;
end;
end;
Как можно сюда подставить свой download manager?
Заранее огромнейшее спасибо за ответ!
← →
int64 (2002-10-17 09:04) [19]smok_er (17.10.02 01:54)
> вопрос все таки остается открытым
У меня работает нормально. Может быть потому, что IE6. Поэтому сравнить не счем. А может весь трабл в том, что у тебя поля документа не в одной форме лежат?
По поводу download manager. Что эти ссылки не помогают?
http://www.euromind.com/iedelphi/iedownload.htm
http://www.euromind.com/iedelphi/downloadmanager.htm
sego (17.10.02 00:01)
Если строка - шаг скроллбара, то не знаю. А на счёт пикселов:
WB.OleObject.Document.Body.scrollHeight - высота (всегда намного больше, чем нижняя позиция документа)
WB.OleObject.Document.Body.scrollTop - текущая позиция.
← →
smok_er (2002-10-17 19:54) [20]>>У меня работает нормально. Может быть потому, что IE6. Поэтому сравнить не счем.
У меня тоже. На 5-ом тоже не работает.
>>А может весь трабл в том, что у тебя поля документа не в одной форме лежат?
Я же не ламер какой-то. Enter 100% не работает.
← →
sego (2002-10-17 21:50) [21]2 int64 ©
← →
sego (2002-10-17 21:53) [22]2 int64 © (17.10.02 09:04)
ну , а определить последнее значение в документе можно, есть какой то признак "конца", ведь пикселы, как я понимаю относятся
к видимому в окне, ведь нельзя определить по количеству пикселов, место документа, или можно? Подскажи плз.
← →
smok_er (2002-10-18 02:04) [23]>>По поводу download manager. Что эти ссылки не помогают?
>> http://www.euromind.com/iedelphi/iedownload.htm
>> http://www.euromind.com/iedelphi/downloadmanager.htm
Совсем забыл ответить. Дело в том, что там IE 5.5 и выше, а мне нужно для 5-го...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.009 c