1

所以我使用黑莓BrowserSession加载一个url,我加载了url。这个 url 有按钮,当你点击它们时 url 会改变,我想知道 url 什么时候改变,什么时候改变到某个 url 我想添加一个弹出窗口。有谁知道这是怎么做到的吗?

如果您在 Android 中编程,我们使用

    shouldOverrideUrlLoading(String url){}

我不确定黑莓中是否有类似的。如果您可以在不使用的情况下检查正在加载的 url BrowserSession,那么这也可以。

4

1 回答 1

4

如果您使用 BrowerSession 启动 URL,页面将在 BlackBerry Browser 进程中呈现,您的应用程序无法访问其中的事件。您需要做的是加载您的 URL 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);
}
于 2013-04-14T17:25:48.433 回答