Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.08.2011, 15:13
Новичок на форуме
Отправить личное сообщение для banderasantonio197555 Посмотреть профиль Найти все сообщения от banderasantonio197555
 
Регистрация: 16.08.2011
Сообщений: 3

Скрипт вычисления координат объекта
Доброго всем времени суток.
Я не силен в javascript, пишу на C#.
В данный момент стоит проблема с поиском объектов в браузере на движке Awesomium.
Первая часть задачи: при наведении мыши на любой объект в браузере он должен подсвечиваться рамкой. При нажатии правой клавиши код объекта сохраняется для дальнейшей работы.
Обработку кнопки мыши и сохранение объекта я нашел как сделать:
JSValue result = webView.ExecuteJavascriptWithResult(@"document.ele mentFromPoint(" + e.X.ToString() + "," + e.Y.ToString() + ").outerHTML");

В переменной result я получаю код объекта:
<input id="mainSearchInput" type="text" class="searchStr focused" name="Ntt" autocomplete="off" placeholder="Search B&amp;H Photo, Video &amp; Pro Audio" value="">

Не решены две проблемы:
- Как подсвечивать объекты в браузере?
Нужно повесить какой то скрипт на событие MouseHover

- Как найти координаты захваченного объекта?
Есть функция getBoundingClientRect() но как ей передать объект захваченный по координатам?
Ответить с цитированием
  #2 (permalink)  
Старый 16.08.2011, 16:02
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

Подсвечивать элементы оптимальнее всего используя CSS-правила.

Следующий код будет выделять красной рамкой абсолютно все элементы на странице:
*{
  border:1px solid transparent}

*:hover{
  border:1px solid red}


А этот только divы и таблицы:
div, table{
  border:1px solid transparent}

div:hover, table:hover{
  border:1px solid red}


Для устаревших браузеров (IE 6), нужно принудительно устанавливать подсвечивание через событие onMouseOver и снимать по событию onMouseOut.

Положение элемента на странице можно узнать через свойства (offsetLeft и offsetTop) этого элемента. Это координаты верхней левой точки элемента относительно такой же точки его родителя.

Последний раз редактировалось Magneto, 16.08.2011 в 16:08.
Ответить с цитированием
  #3 (permalink)  
Старый 16.08.2011, 16:19
Новичок на форуме
Отправить личное сообщение для banderasantonio197555 Посмотреть профиль Найти все сообщения от banderasantonio197555
 
Регистрация: 16.08.2011
Сообщений: 3

Проект будет работать только на движке Awesomium, но там все очень своеобразно :-)
Например попытался повесить ваш скрипт на событие зависания мыши над полем браузера
private void webViewBitmap_MouseHover(object sender, EventArgs e)
{
webView.ExecuteJavascript(@"div, table{
border:1px solid transparent}

div:hover, table:hover{
border:1px solid red}");
}

И к великой печали не работает ничего, скрипт отрабатывается но на экране ничего нет.
Ответить с цитированием
  #4 (permalink)  
Старый 16.08.2011, 16:22
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

Стили нужно добавлять в файл стилей. И я не знаком с движком Awesomium поэтому хз.
Ответить с цитированием
  #5 (permalink)  
Старый 16.08.2011, 16:37
Новичок на форуме
Отправить личное сообщение для banderasantonio197555 Посмотреть профиль Найти все сообщения от banderasantonio197555
 
Регистрация: 16.08.2011
Сообщений: 3

Так по идее стили лежать на хостинге должны, но в моем случае не я же сайтописатель, я по сути браузер доделываю под себя.
А движок можно тут посмотреть Awesomium.com
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт для вычисления объема mav1 Events/DOM/Window 7 21.11.2012 14:11
прямая от первого объекта до второго ntro123 Events/DOM/Window 5 09.05.2011 07:41
Не работает скрипт: Предполагается наличие объекта Rem911 Общие вопросы Javascript 1 21.03.2011 20:26
Скрипт для вычисления объема помещения Jameson Общие вопросы Javascript 27 19.03.2009 07:57
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 18:00