所以我使用黑莓BrowserSession
加载网址,我加载了网址。当你点击它们的url更改时,这个url有按钮,我想知道url更改的时间,当它更改为某个url时我想添加一个弹出窗口。有谁知道怎么做?
如果你在Android中编程,我们使用
shouldOverrideUrlLoading(String url){}
我不确定BlackBerry中是否有这样的产品。如果您可以在不使用BrowserSession
的情况下查看正在加载哪个网址,那么这也可以。
答案 0 :(得分:4)
如果您使用BrowerSession启动URL,则该页面将在BlackBerry Browser进程中呈现,您的应用无法访问其中的事件。您需要的是在BrowserField
内加载您的网址 - 与BlackBerry相当的WebView。
如果要在页面加载后显示弹出窗口,请实现BrowserFieldListener
界面以了解页面何时加载。
如果您想在用户点击链接时显示弹出窗口,则必须实现自己的BrowserFieldNavigationRequestHandler
。
这是完整的代码。
static void showScreen() {
MainScreen screen = new MainScreen();
final BrowserField bf = new BrowserField();
final ProtocolController pc = (ProtocolController) bf.getController();
pc.setNavigationRequestHandler("http", new BrowserFieldNavigationRequestHandler() {
public void handleNavigation(BrowserFieldRequest request) throws Exception {
intercept(); //Intercept the request and my handler
InputConnection ic = pc.handleResourceRequest(request);
bf.displayContent(ic, request.getURL());
}
});
screen.add(bf);
bf.requestContent("http://www.google.com");
UiApplication.getUiApplication().pushScreen(screen);
}