Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blackberry 最初加载带有BrowserField的页面,然后在BB浏览器而不是BrowserField中单击打开的链接?_Blackberry_Browserfield - Fatal编程技术网

Blackberry 最初加载带有BrowserField的页面,然后在BB浏览器而不是BrowserField中单击打开的链接?

Blackberry 最初加载带有BrowserField的页面,然后在BB浏览器而不是BrowserField中单击打开的链接?,blackberry,browserfield,Blackberry,Browserfield,我想首先加载一个带有BrowserField的页面(存储的html页面),然后在BB浏览器中打开链接,而不是BrowserField 我目前的代码如下: BrowserFieldConfig.setProperty(BrowserFieldConfig.CONTROLLER, new BrowserFieldController() { public InputConnection handleResourceRequest(BrowserFiel

我想首先加载一个带有BrowserField的页面(存储的html页面),然后在BB浏览器中打开链接,而不是BrowserField

我目前的代码如下:

BrowserFieldConfig.setProperty(BrowserFieldConfig.CONTROLLER, new BrowserFieldController()
  {                 
     public InputConnection handleResourceRequest(BrowserFieldRequest request) throws    Exception {
        return (InputConnection)Connector.open(request.getURL());
     }
     public void handleNavigationRequest(BrowserFieldRequest request) throws Exception 
     {
         BrowserSession b = Browser.getDefaultSession();
         b.displayPage(request.getURL());   
     }  
 });
我想加载存储在browserfield参考资料中的html页面,然后在BB浏览器中打开我正在使用的页面链接 browserfield.requestContent(“local:///test.html");

但应用程序试图在浏览器中打开html文件,这是不可取的

请给我建议一个解决办法

谢谢,
Aniket

这应该很容易实现

  • 首先,您需要使用BrowserField对象
  • 使用BrowserField.extendScriptEngine(字符串名称,可编写脚本)扩展浏览器字段的javascript引擎
  • 在可编写脚本的浏览器中,您将打开本机浏览器
  • 在html中,使按钮执行您创建的扩展javascript函数

每次browserfield请求内容时,都会调用handleNavigationRequest(BrowserFieldRequest请求)方法。 在方法中添加一个计数。 每次调用该方法时,将计数增加1

如果计数大于0,则表示Browserfield已首次加载。随后对该方法的调用应打开浏览器会话,而不是请求Browserfield中的内容

public void handleNavigationRequest(BrowserFieldRequest request) throws Exception 
     {
        if(click<1){
          // request for content inside Browserfield
          }
         else  {
         BrowserSession b = Browser.getDefaultSession();
         b.displayPage(request.getURL()); 
         }

       click++;  
     }  
public void handleNavigationRequest(BrowserFieldRequest请求)引发异常
{
如果(单击