Программный клик ссылки в WebView
Добавлено: 23 май 2013, 18:20
Добрый день. Нужно программно кликнуть по ссылке в WebView. Android 4.2 (target 17), перепробовал множество вариантов, ничего не работает.
[syntax=html4strict]<a id="mA" href="javascript:pLogin(2)" class="login-link__link private-cab-link"><i class="icon-user"></i>Авторизация</a>[/syntax]
Сам javascript такой
[syntax=javascript]javascript:(function(){document.getElementById('mA').click();})()[/syntax]
Работает в консоли браузера.
Код activity
[syntax=java]public class RostelecomLoginActivity extends Activity {
WebView webView;
String url;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.activity_rostelecom_login);
Intent webIntent = getIntent();
String url = webIntent.getStringExtra("url");
webView = (WebView) findViewById(R.id.webView1);
webView.setWebViewClient(new MeWebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setSaveFormData(true);
webView.getSettings().setSavePassword(true);
Button buttoner = (Button) findViewById(R.id.button1);
buttoner.setOnClickListener(new OnClickListener() {
@JavascriptInterface
public void onClick(View v) {
webView.loadUrl("javascript:(function(){document.getElementById('mA').click();})()");
}
});
webView.loadUrl(url);
}[/syntax]
[syntax=html4strict]<a id="mA" href="javascript:pLogin(2)" class="login-link__link private-cab-link"><i class="icon-user"></i>Авторизация</a>[/syntax]
Сам javascript такой
[syntax=javascript]javascript:(function(){document.getElementById('mA').click();})()[/syntax]
Работает в консоли браузера.
Код activity
[syntax=java]public class RostelecomLoginActivity extends Activity {
WebView webView;
String url;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.activity_rostelecom_login);
Intent webIntent = getIntent();
String url = webIntent.getStringExtra("url");
webView = (WebView) findViewById(R.id.webView1);
webView.setWebViewClient(new MeWebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setSaveFormData(true);
webView.getSettings().setSavePassword(true);
Button buttoner = (Button) findViewById(R.id.button1);
buttoner.setOnClickListener(new OnClickListener() {
@JavascriptInterface
public void onClick(View v) {
webView.loadUrl("javascript:(function(){document.getElementById('mA').click();})()");
}
});
webView.loadUrl(url);
}[/syntax]