2010-09-22 56 views
5

Có thể thêm giao diện JavaScript vào Trình duyệt Android giống như cách có thể thêm vào Thành phần WebView là illustrated in this demo hay không. Trường hợp sử dụng cụ thể của tôi chỉ cần JavaScript -> android để tôi có thể gửi lại cho hoạt động trước đó.Thêm Giao diện JavaScript vào Trình duyệt

+0

Chỉ cần tò mò, tại sao bạn không sử dụng mã của dự án mã nguồn mở mà bạn đã chỉ ra? Nó không có trong đó những gì bạn đang tìm kiếm? Bạn không chắc chắn những gì bạn có ý nghĩa với JS Giao diện, bạn có thể giải thích những gì nó làm gì? –

+0

Tôi cần tích hợp chặt chẽ hơn Trình duyệt qua WebView. Tôi cần phải bấm vào một nút của một trang web và kích hoạt sự trở lại Hoạt động trước đó (đã khởi chạy trình duyệt) –

+1

Tôi nghĩ điều đó là không thể ... bạn không nghĩ nó sẽ nguy hiểm? Ý tôi là, cho phép những thứ đó sẽ là vấn đề an ninh lớn. – Cristian

Trả lời

9

Bạn có thể gọi các phương thức và chức năng trong chế độ xem web của mình bằng cách sử dụng url của javascript, ví dụ:

webview.loadUrl("javascript:somemethod()"); 

Bạn sẽ, tất nhiên, cần phải kích hoạt javascript trên webview của bạn:

webview.getSettings().setJavaScriptEnabled(true); 

Đây là từ java để javascript. Nếu bạn muốn gọi mã java/android API từ javascript, hãy sử dụng addJavascriptInterface()

webview.addJavascriptInterface(new MyJSJavaBridge(), "api"); 

Tất cả điều này cũng được hiển thị trong url ví dụ bạn đã đăng.

+0

chắc chắn, trên WebView bạn đã mô tả các bước tương tự như trong WebViewDemo mà tôi liên kết đến trong câu hỏi, nhưng còn Trình duyệt thì sao? –

+0

@vo van der Wijk tôi có câu hỏi về mã này - 'webview.loadUrl (" javascript: somemethod() ");' vì trong ứng dụng của tôi nó không hoạt động = ( để bạn có thể giải thích điều gì sai với mã của tôi không hoạt động - 'webview.loadUrl (" javascript: document.getElementById ('pass_id'). value = '"+ CLIENT_PWD +"') ");' – vladimir

Các vấn đề liên quan