|
Работа с HTML полем, запустить скрипты страницы как? | ☑ | ||
|---|---|---|---|---|
|
0
Варвар
02.02.10
✎
09:52
|
Есть HTML поле в 1С, соответственно можно получить доступ к элементам HTML страницы.
А как запустить функцию java scripts которая есть на странице? |
|||
|
1
Hipernate
02.02.10
✎
10:04
|
Попробуй переформулировать вопрос, приходится много додумывать на какой странице, для чего.. (Форма, табличное поле или еще что?)
|
|||
|
2
asady
02.02.10
✎
10:05
|
тупо
ЭлементыФормы.ТвоёПолеHTMLДокумента.Document.MyFunction(); сработает? |
|||
|
3
Варвар
02.02.10
✎
10:11
|
(2) так нет.
|
|||
|
4
Варвар
02.02.10
✎
10:11
|
(1) Поле HTML документа на форме.
|
|||
|
5
Варвар
02.02.10
✎
11:24
|
вообще где бы почитать про взаимодействи с IE по OLE.
Нагуглить не получилось. |
|||
|
6
cleaner
02.02.10
✎
11:32
|
Пример из 8.2 приведу:
ДокументHTML = Элементы.ПолеHTMLДокумента.Документ; Куб = ДокументHTML.getElementById("OLAP"); Если Куб = Неопределено Тогда Сообщить("Не найден объект компоненты!"); Возврат; КонецЕсли; getElementById - функция javascript, значит таким образом вызывать можно. |
|||
|
7
Варвар
02.02.10
✎
11:40
|
(6) странно, у меня так не получилось. Сейчас еще потренируюсь.
|
|||
|
8
cleaner
02.02.10
✎
11:41
|
кхм. тогда код HTML еще покажу
<HTML> <head> </head> <body> <OBJECT ID="OLAP" classid="clsid:EC44F215-054A-4682-BF47-B7B62AABC4A6" CODEBASE = "ActiveFormProj1.CAB" <!--Загрузка компоненты произойдет из файла ActiveFormProj1.CAB, --> <!--находящегося в каталоге с HTML-страницей--> width="100%" height="100%" </OBJECT> </body> </HTML> |
|||
|
9
Варвар
02.02.10
✎
11:45
|
Так, getElementById таки работает, хотя до этого пытался, возвращало мне Неопределено. Даже догадуюсь где я лопухнулся :))
Правда getElementById - это функция самого java script, свою функцию описаную в <SCRIPT> вызвать не получается, говорит что не определен данный метод. Буду пытаться мудрить както по другому с событиями :)) |
|||
|
10
Варвар
02.02.10
✎
11:48
|
инетерсно, есть идеи как такое можно через OLE сделать? :)
var obj = new MyObject(); |
|||
|
11
cleaner
02.02.10
✎
12:04
|
А что тебе нужно-то?
Куб = ДокументHTML.getElementById("OLAP"); - получает доступ к элементу страницы, потом с ним работай как с объектом |
|||
|
12
cleaner
02.02.10
✎
12:05
|
я после этого использую такой код, и все ОК
Куб.AddDimension("Измерение1","Измерение 1",101,""); Куб.AddDimension("Измерение2","Измерение 2",50,"Измерение1"); Куб.AddDimension("Измерение3","Измерение 3",50,""); Куб.AddMeasure("ctSumma", "ctSumma", "ctSumma",""); Куб.AddMeasure("ctCount", "ctCount", "ctCount",""); Куб.AddMeasure("ctAverage", "ctAverage", "ctAverage",""); |
|||
|
13
cleaner
02.02.10
✎
12:07
|
Кстати, Элементы.ПолеHTMLДокумента.Документ сам по себе имеет тип ВнешнийОбъект или COMОбъект, и имеет все те свойства и методы, которыми обладает объект (в 8.2, конечно, в 8.1 не знаю какие типы)
|
|||
|
14
Варвар
02.02.10
✎
12:09
|
(13) я пытаюсь с гугльмапсом работать, и создавать объекты описаные в его API
Как то GLatLng(). Щас еще буду тренироваться :)) Про COMОбъект - в курсе, в отладчике смотрел :)) Работаю с 8.2 |
|||
|
15
Fragster
гуру
02.02.10
✎
12:12
|
Документ.eval("alert('Пре вед!')") работает?
|
|||
|
16
cleaner
02.02.10
✎
12:14
|
(14) так запросто ведь. Гугл мапс - это ведь ActiveX/COM? Размещаешь его в html, даешь ID, находишь по ID, и все, работай с ним
|
|||
|
17
cleaner
02.02.10
✎
12:16
|
глянь http://infostart.ru/public/60781/ и http://infostart.ru/public/61064/, сам недавно с этим разбирался, помогло
|
|||
|
18
Fragster
гуру
02.02.10
✎
12:17
|
(16) нет
|
|||
|
19
Варвар
02.02.10
✎
12:19
|
(15) Элементы.СтрокаХТМЛ.Документ.eval("") {(1)}: Метод объекта не обнаружен (eval)
(17) посмотрю, спасибо. |
|||
|
20
Варвар
02.02.10
✎
12:35
|
(16) гуглмапс это API для java scripts, есть для флеша и для стационарных кусков карты. Както так :))
|
|||
|
21
Варвар
02.02.10
✎
13:05
|
посмотрел разработки на инфостарте, там именно с созданием activex компонент вроде делается. Если б я еще умел это делать :))
Есть еще одна без activex, вот и я примерно так хочу. Не знаю получится ли :(( |
|||
|
22
Варвар
02.02.10
✎
13:49
|
так, как обойтись без создания объекта из 1С вроде как придумал.
Но вот как вызвать функцию описаную в <SCRIPT></SCRIPT> пока идей нет. Была повесить на какое нибудь событие, но вот на какое, чтоб оно отрабатывалось без участвия пользователя в браузере? |
|||
|
23
AquaKosh
02.02.10
✎
14:23
|
(22) Попробуй так: ЭлементыФормы.ПолеHTMLДокумента.Документ.parentWindow.eval("myfunction()");
|
|||
|
24
Варвар
02.02.10
✎
14:26
|
(23) о, а так работает! Сенкс, буду пробовать так
|
|||
|
25
AquaKosh
02.02.10
✎
14:28
|
(24) а то! ;)
|
|||
|
26
Варвар
02.02.10
✎
16:51
|
в общем шота получилось, будем дальше работать :))
http://infostart.ru/public/65101/ |
|||
|
27
12литровпивавчас
08.05.10
✎
05:37
|
34769010499406547913933936355692
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |