Название: QtWebkit QWebElement JS Отправлено: Sahab от Февраль 06, 2011, 15:37 Нужно загрузить страницу и добавить JS-функционал.
Не совсем выходит у меня. Код: Widget::Widget(QWidget *parent) : если в html странице тег script пустой - то все работает... но если там уже находится какой-либо JS-код - нет з.ы. кто-нибудь юзал http://doc.qt.nokia.com/4.7-snapshot/qtwebkit-bridge.html (http://qtwebkit-bridge)? Название: Re: QtWebkit QWebElement JS Отправлено: serg_hd от Февраль 06, 2011, 19:30 прикрепил
Название: Re: QtWebkit QWebElement JS Отправлено: Sahab от Февраль 06, 2011, 20:28 Спасибо за отклик... Но я немного не это имел в виду.
Мне не нужно активировать уже существющий скрипт. Мне нужно "инъектить" свой (в примере function Activate() {alert(\"WTF?\")}) Возможно я немного запутал названиями ф-ций... js ф-ция Deactivate() мне нужна была только для показа существующего кода в html Цитировать если в html странице тег script пустой - то все работает... но если там уже находится какой-либо JS-код - нет Название: Re: QtWebkit QWebElement JS Отправлено: serg_hd от Февраль 06, 2011, 20:29 да, но
Код для этого вроде как и предназначен. Текст который в методе и есть текст самого яваскрипта и он будет участвовать в DOM'e страницы. Т.е.: Код вызовет яваскриптовский диалог с "!!!", таким образом можно вставить любой свой яваскриптовский код, либо изменить существующий, в коде там указано на какой сигнал это делать. Хотя возможно я чего-то недопонимаю... Название: Re: QtWebkit QWebElement JS Отправлено: Sahab от Февраль 06, 2011, 20:33 Допустим у меня есть кнопка по нажатию на которую должна выполняться ф-ция Activate(), которой в данный момент нет в исходном html
Задача "добавить необходимую" в html для того чтоб обрабатывалось нажатие Название: Re: QtWebkit QWebElement JS Отправлено: serg_hd от Февраль 06, 2011, 20:38 Допустим у меня есть кнопка по нажатию на которую должна выполняться ф-ция Activate(), которой в данный момент нет в исходном html В этом поможет сам яваскрипт, надо просто найти эту кнопку с помощью яваскрипта. Наверное года два на нём не писал, но, к примеру если кнопка имеет аттрибут id = "xxx", то найти её можно по нему, примерный код:Задача "добавить необходимую" в html для того чтоб обрабатывалось нажатие Код
или по имени (опять же примерный, в гугле полно реализаций) Код Этот яваскрипт-код и внедрять через evaluateJavaScript() Название: Re: QtWebkit QWebElement JS Отправлено: serg_hd от Февраль 06, 2011, 20:41 Кстати проверь ещё насчёт void QWebElement::setAttribute ( const QString & name, const QString & value )
Может прокатит что-то вроде Код Но я делал подобное всё-таки со стороны самого яваскрипта Название: Re: QtWebkit QWebElement JS Отправлено: Sahab от Февраль 06, 2011, 20:42 Цитировать Задача "добавить необходимую" JS-ф-цию в html для того чтоб обрабатывалось нажатие Не назначать ее... А реализовать!Название: Re: QtWebkit QWebElement JS Отправлено: serg_hd от Февраль 06, 2011, 20:50 прикрепил. Т.е. в html есть только вызов функции activate(). Затем ты её реализовываешь и код сработает при клике по кнопке. Оно?
Название: Re: QtWebkit QWebElement JS Отправлено: Sahab от Февраль 06, 2011, 20:57 Спасибо, то что нужно. Никогда бы не подумал, что так возможно.
а это http://doc.qt.nokia.com/4.7-snapshot/qtwebkit-bridge.html (http://qtwebkit-bridge) не использовал никогда? имею в виду связку объектов с++ и js Название: Re: QtWebkit QWebElement JS Отправлено: serg_hd от Февраль 06, 2011, 21:04 Спасибо, то что нужно. Никогда бы не подумал, что так возможно. Тоже пробовал, давно правда. Смысл в том, что проводится аналогия между Qt-обьектами и яваскриптом. Т.е. в страницы можно внедрять различные members твоего qt-объекта, которые будут видны яваскрипту. Пробовал ради интереса, когда переписывал под себя вебкитовкий яваскрипт-движок (надо было некоторые private properties сделать public). Получалось, но не использовал, т.к. на тот момент не было необходимости, штука действ. полезная.а это http://doc.qt.nokia.com/4.7-snapshot/qtwebkit-bridge.html (http://qtwebkit-bridge) не использовал никогда? имею в виду связку объектов с++ и js |