2012-01-03 23 views
5

có cách nào để ẩn hoặc vô hiệu hóa trường URL trong thanh vị trí không? Trong trường hợp của tôi, thiết bị là một máy tính bảng chạy dưới dạng trình duyệt kiosk, do đó chỉ cho phép một URL.Plugin Phonegap ChildBrowser: Vô hiệu/Ẩn URL trong thanh địa chỉ, nhưng không phải nút quay lại/tiến/thoát

tôi cố định này bằng cách thay đổi mã trong ChildBrowser.java để

private void navigate(String url) { 
    InputMethodManager imm = (InputMethodManager)this.ctx.getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0); 
    if (!url.startsWith("http")) { 
     this.webview.loadUrl("http://" + url); 
    } 
    this.webview.loadUrl("http://www.my-only-allowed-site.example.org"); 
    this.webview.requestFocus(); 
} 

này hoạt động tốt, nhưng không phải là tốt đẹp. Bạn vẫn có thể thấy URL. I'd muốn có bất kỳ giải pháp khả thi này:
1) hoàn toàn ẩn trường URL
2) ẩn softkeyboard khi nhấp vào trường URL
3) thiết lập các màu phông chữ URL sang màu đen

Bất kỳ ý kiến?
cảm ơn trước

Trả lời

0

Tôi không biết gì về Phonegap nhưng tôi cho rằng bạn đang sử dụng Android chuẩn WebView?

Nếu bạn thấy thanh URL thì điều đó thường có nghĩa là trình duyệt hệ thống mặc định đang được gọi để xử lý việc tải trang. Để ngăn chặn điều này thiết lập một WebViewClient như sau ...

this.webview.setWebViewClient(new WebViewClient() { 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     return false; 
    } 
}); 

Phương pháp shouldOverrideUrlLoading(...) được gọi bởi các ứng dụng máy chủ để xem nếu nó nên ghi đè tải bằng cách sử dụng Hoạt động quản lý để tìm một ứng dụng phù hợp (thường là ứng dụng trình duyệt chứng khoán). Trả lại false có nghĩa là cá thể WebView muốn xử lý việc tải URL của chính nó và bạn sẽ không thấy thanh URL nào cả.

CHỈNH SỬA: Nếu sửa lỗi đó nhưng cũng làm mất các nút điều hướng thì tôi khuyên bạn nên duy trì bộ sưu tập lịch sử của riêng mình và cung cấp các nút của riêng bạn để quay lại/chuyển tiếp/thoát.

+0

cảm ơn gợi ý. Tôi vừa xóa dòng 'toolbar.addView (edittext); 'từ Childbrowser.java và nó hoạt động. – user1127000

4

Nếu bạn sửa đổi mã nguồn cho các plugin, bạn có thể ẩn các lĩnh vực url và nút đóng bằng cách sửa đổi mã nguồn cho các plugin và chỉ nhận xét ra các dòng sau:

toolbar.addView(back);  //shows the back button 
toolbar.addView(forward); //shows the forward button 
//toolbar.addView(edittext); //shows the URL - comment this line out to hide the URL 
toolbar.addView(close);  //shows the close button 

Sửa: oops, tôi chỉ nhìn thấy từ bình luận của bạn rằng bạn đã tìm ra điều này trong cùng một cách!

+0

Bất kỳ ý tưởng nào về nền tảng ios cần sửa đổi trong plugin – GSB

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