С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
mizha
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 114
#1

Отработать JS в WebView - Программирование Android

17.06.2014, 10:44. Просмотров 1528. Ответов 4
Метки нет (Все метки)

Здравствуйте! Подскажите как застравить WebView отработать хотя бы простой alert? Ниже приведу весь код своего активити.
Java
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
42
43
44
package com.example.bank;
 
import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.os.Build;
 
public class MainActivity extends Activity {
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        WebView myWeb = (WebView)findViewById(R.id.webView);
        myWeb.setWebViewClient(new HelloWebViewClient());
        
        WebSettings webSettings = myWeb.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
        
        
        myWeb.loadUrl("");
    }
    
    private class HelloWebViewClient extends WebViewClient 
    {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) 
        {
            view.loadUrl(url);
            return true;
        }
    }
}
Добавлено через 14 минут
в myWeb.loadUrl пишу например http://google.com

и ниже делаю так
Java
1
myWeb.loadUrl("javascript:document.getElementById('gbqfsa').click()");
но оно не работает... Возможно ли как-то реализовать выполнение JS таким методом или как это лучше сделать?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2014, 10:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отработать JS в WebView (Программирование Android):

WebView - Программирование Android
Добрый день! Мне нужно выполнить действие после полной загрузки страницы в WebView. Нужно что-то типа Qtшного сигнала...

WebView - Программирование Android
У меня есть лист меню, как сделать так что бы при нажатии на первый объект так можно сказать открывался бразузер и преходил по заданной...

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

WebView. Крякозябры - Программирование Android
WebView myWebView = (WebView) findViewById(R.id.webView); String summary = "<html><body>" + text + "</body></html>"; ...

Замена WebView - Программирование Android
Добрый вечер. Ваша помощь нужна очень. Чем можно заменить WebView (просто как я читал его не стоит использовать для вывода больших...

WebView - Height - Программирование Android
Добрый вечер. Вот такая пробела. Когда я передаю информацию в WebView он почему выводится только на (height:10px;) и включает...

4
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
17.06.2014, 10:49 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
mizha, попробуйте так. Вместо WebViewClient

Java
1
2
3
4
5
6
7
private class Client extends WebChromeClient {
        @Override
        public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
            Log.d("Client", "JS alert");
            return super.onJsAlert(view, url, message, result);
        }
    }
вместо setWebViewClient используйте setWebChromeClient
0
mizha
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 114
17.06.2014, 11:39  [ТС] #3
JS стал работать, но браузер перестал ходить по ссылкам. Т.е. если я куда-то кликаю, то включается браузер по умолчанию и в нем уже переходит по ссылке...
0
mizha
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 114
21.06.2014, 19:11  [ТС] #4
Подскажите пожалуйста, как получить html код загруженной страницы?
У меня получается его получить с помощь JS, но толку от этого нет, потому что мне надо его потом отравить постом...
0
Zigrut
0 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 34
03.05.2015, 13:56 #5
это засунь в онкреат
Java
1
mWebView.setWebViewClient(new HelloWebViewClient());
это в файлик активити жава
Java
1
2
3
4
5
6
7
8
9
10
11
public class HelloWebViewClient extends WebViewClient {
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            msbox("Ошибка", "Соединения с интернетом недоступно");
        }
        public boolean shouldOverrideUrlLoading(WebView view, String url) 
            {
                mWebView.loadUrl(url);
            }
            return true;
      }
    }
0
03.05.2015, 13:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2015, 13:56
Привет! Вот еще темы с ответами:

WebView в фоне - Программирование Android
Нужно в webview открыть определенную ссылку, однако на сайте стоит защита , и открывается только с браузера. Каким образом можно...

Из WebView в TextView - Программирование Android
С WebView всё легко. Чтобы загрузить страницу, нужно всего-то воспользоваться одной строкой кода: WebView.loadUrl("http://example.com"); ...

Работа с webview - Программирование Android
Привет ребята! У меня следующая проблема. for (String key : map.keySet()) { textView.append("\n\t"+key + "\n"); ...

Android webview - Программирование Android
Здраствуйте!Нужен готовый webview apk.есть примеры?


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

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

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