public class Fragment_Three extends Fragment {
private Button but;
private WebView web;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_three, container, false);
but = view.findViewById(R.id.but);
web = view.findViewById(R.id.web);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
web.getSettings().setJavaScriptEnabled(true);
web.setWebChromeClient(new WebChromeClient());
web.loadUrl("file:///android_asset/index");
but.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
web.post(new Runnable() {
@Override
public void run() {
web.loadUrl("javascript:callJS()");
}
});
}
});
}
}
html
<script>
/* 普通方法 */
function callJS() {
alert("这里是JS方法");
}
/* 有返回值的 */
function callJS2() {
document.getElementById("title").innerHTML = "这里是新的标题";
return "恭喜你,修改成功了";
}
/* 既有参数又有返回值的 */
function callJS3(data) {
document.getElementById("title").innerHTML = data;
return "恭喜发财";
}
</script>
这里是标题
弹窗
替换标题
替换标题