30/09/2018, 20:15

InnerHTML thay đổi giá trị nhưng không thực thi script chứa giá trị thay đổi?

Mình sử dụng webview để render nội dung và cần dùng javascript để thay đổi nội dung, nội dung này sẽ được chứa trong các script sau đó render thành nội dung cần hiển thị.

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        webview = (WebView)findViewById(R.id.webview);
        webview.getSettings().setJavaScriptEnabled(true);
webview.loadDataWithBaseURL("http://bar", " <script type="text/javascript" src="file:///android_asset/katex/contrib/auto-render.min.js"></script> " +

                "<span id='math'>NỘI DUNG CŨ</span>"

                + "<script> renderMathInElement( document.body ); </script> ", "text/html", "utf-8", null);

}
public void thaydoiValue(){
webview.getSettings().setJavaScriptEnabled(true);
                webview.evaluateJavascript("javascript:document.getElementById('math').innerText ='"
                            + "NỘI DUNG MỚI"
                            + "';", null);
}

Mình muốn hỏi ở đây là khi mình thực hiện đổi giá trị “NỘI DUNG CŨ” thành “NỘI DUNG MỚI” thì innerHTML làm rất tốt NHƯNG hình như nó chỉ đổi nội dung mà không gọi lại đoạn script chứa nó vì thế nó không thể render thành NỘI DUNG CẦN HIỂN THỊ được. Mình cần nó tự động gọi lại và thực thi đoạn script chứa nó…
"

Nguyễn Đô viết 22:25 ngày 30/09/2018

andorid hả bác

Bài liên quan
0