gpt4 book ai didi

javascript - 如何在 Android webview 中通过 ID 捕获元素点击?

转载 作者:行者123 更新时间:2023-11-27 23:38:35 32 4
gpt4 key购买 nike

我有 viewPager 组件,它包含来自远程服务器的带有 HTML 内容的几个 Web View 。

它是简单的 HTML 代码,不可能在服务器端更改 HTMl 输出。

请问,在Android中如何捕捉指定ID的指定元素的点击事件?

ViewPager

private void initViewPager() {
pager = (ViewPager) findViewById(R.id.my_pager);
adapter = new FragmentStatePagerAdapter(
getSupportFragmentManager()
) {
@Override
public int getCount() {
// This makes sure getItem doesn't use a position
// that is out of bounds of our array of URLs
Logger.d(String.valueOf(mWelcomeController.loadedPagesToDisplay.size()));
return mWelcomeController.loadedPagesToDisplay.size();
}

@Override
public android.support.v4.app.Fragment getItem(int position) {
Logger.d(mWelcomeController.loadedPagesToDisplay.toString());
return BrowserFragment.newInstance(
mWelcomeController.loadedPagesToDisplay.get(position)
);
}
};

//Let the pager know which adapter it is supposed to use
pager.setAdapter(adapter);
}

因为我不能修改服务器端的 HTML 输出(也许将一些属性注入(inject)到设备上的 DOM 中?)我不能使用类似的东西:

http://www.scriptscoop.com/t/21b53b896c9e/javascript-how-to-detect-button-click-in-webview-android.html

Detect click on HTML button through javascript in Android WebView .

我想要这样的东西:

  • 在 HTML 代码中找到给定的元素
  • 更新 HTML 代码(添加点击事件)
  • 在 native 代码中捕获此事件

最佳答案

为此,您需要解析 html,Java(以及 Android)的一个好的 html 解析器是 Jsoup .

你可以这样做:

// Connect to the web site
Document doc = Jsoup.connect(url).get();
Element button = doc.select("#buttonid");
button.html("new stuff here");
//parse back and put in webview
String finaloutput = doc.html();

关于javascript - 如何在 Android webview 中通过 ID 捕获元素点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32698709/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com