Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
SilkyPain
0 / 0 / 0
Регистрация: 15.11.2017
Сообщений: 7
1

Работа WebView. Скрипты

17.11.2017, 15:34. Просмотров 232. Ответов 1

Всем добрый день!

Буквально недавно начал разрабатывать приложение на андроид.
Как среду разработки использую android studio.

Приложение пока простенькое и состоит из двух виджетов: Кнопка и WebView. Поведение схоже с поведением браузера за тем исключением, что открывается кастомная страница. Просмотрел кое-какую литературу по этому поводу, что привело меня в небольшой тупичек.

Запускаю метод loadUrl в котором вызываю кастомный html файл, находящийся в папке assets. Все вроде как в порядке, за одним исключением: программа вообще не видит скрипты. Никакие...Пытался alert('!') в скрипт вписать - без толку. Причем попытка запустить тот же код при помощи Google Chrome как отладчик в NetBeans(до React я пока не дорос)) дает положительный результат. Есть предположение, что в коде ошибка и "тонкий" клиент в виде android устройства не воспринимает скрипты вообще, в то время как Chrome, являясь "толстым" клиентом, пытается хоть как-то интерпретировать и у него выходит .

Товарищи программисты, выручайте)

Вот код: Он должен при старте отрисовывать прозрачный прямоугольник на холсте(canvas) а по кнопке отрисовывать черный круг.

Понимаю, что может быть не по теме : дублировал вопрос в тему про JavaScript.
Вдруг есть что-то что я не указал именно в студии. Заранее благодарен всем, кто попытается помочь.

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <div>TODO write content</div>
        <canvas height="320" width="480" id="example">Draw</canvas>
        <script>
            var example = document.getElementById("example"),
                    ctx = example.getContext('2d');
            ctx.strokeRect(0,0,example.width,example.height);
        </script>
        <input type="submit" id="qwert" name="setCirc" value='toTriang'/>
        <script>
            function setCirc(e){
                var canv = document.getElementById("example");
                if(canv.getContext){
                    var c = canv.content;
                    var ctx = canv.getContext('2d');
                    
                    var circle = new Path2D();
                    circle.moveTo(125,35);
                    circle.arc(100,35,25,0,2*Math.PI);
                    
                    ctx.fill(circle);
                }
            }
            
            var addButton = document.getElementById("qwert");
            addButton.addEventListener("click", setCirc);
        </script>
    </body>
</html>
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2017, 15:34
Ответы с готовыми решениями:

Работа с webview
Привет ребята! У меня следующая проблема. for (String key : map.keySet()) { ...

Работа с webview
Добрый день! Пишу приложение с двумя activity. На первом находится несколько imagebutton, на...

Qt creator. Есть файл aboutDialog.cpp/h с webview, как получить доступ к webview из mainWindow ?
aboutDialog.h #ifndef ABOUTDIALOG_H_ #define ABOUTDIALOG_H_ #include &lt;QtGui/QDialog&gt;...

Работа WebView и парсинг страниц
Добрый день подскажите пожалуйста такой момент: есть десктоп приложение в которое через WebView...

Работа с объектами, поддерживающими скрипты (excel)
доброго времени суток, создаю компонент из файла excel с поддержкой vbs, хочется чтобы лист файла...

1
SilkyPain
0 / 0 / 0
Регистрация: 15.11.2017
Сообщений: 7
18.11.2017, 19:41  [ТС] 2
Добрый день всем еще раз!

Всем, кто просмотрел тему, но не смог/не успел помочь - спасибо за уделенное время.

Моя ошибка заключалась в том, что в android студии было необходимо для компонента webView выставить параметр getSettings().setJavaScriptEnabled(true), а также setWebChromeClient(new WebChromeClient());. Если ваша сфера интересов в разработке приложений для android соприкоснется с html5 + javascript - не наступите на мои грабли
Если вдруг кому будет интересно, вот пример работающей программы : https://www.youtube.com/watch?v=eJa8xie9WZs

Если кто-то из админов случайно забредет - можно закрывать тему - ответ найден)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2017, 19:41

Как скрипты видят другие скрипты, которые были объявлены ранее?
Может кто-нибудь объяснить как реализовано то, что у нас скрипт, который был заинклуден в html...

Баннерные скрипты, скрипты посещаемости
Всем привет,хотелось бы узнать как организовать баннерную систему у себя на сайте,такую чтобы...

Webview
Всем привет.У меня вопросище. Или я так привык к шарпику, что разобраться совсем тяжко. Поехали,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru