2017-04-01 34 views
9

我有一个网络的服务在这一我已经加入的AndroidAndroid的网络视图错误I /铬:[INFO:控制台(1)]“未捕获的ReferenceError:

条形码读取器因此具有的帮助JavaScript的我从网上查看打电话给我的条码阅读器因此对于I followed this

,并设计了服务器端... 我已经给这个

在JavaScript的

function mybarcd() { 
      MyApp.mybarcdt(); 
     } 

    function actfromAnd(msg){ 
      document.getElementById("brcd").value = msg; 
     } 


    at HTML/PHP 

    <div class="data"> 
      <input id="brcd" type="text" value=""/> 
      <button type="button" onClick="mybarcd()">SCAN</button> 
    </div> 

在Android上侧 在网页视图

webView.addJavascriptInterface(new WebAppInterface(this), "MyApp"); 

和新的JS接口

@JavascriptInterface 
    public void mybarcdt() { 

       IntentIntegrator intentIntegrator = new IntentIntegrator(Main_A.this); 
       intentIntegrator.setBeepEnabled(true); 
       intentIntegrator.setOrientationLocked(true); 
       intentIntegrator.setPrompt("Scan Barcode"); 
       intentIntegrator.initiateScan(); 
      } 



    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); 
     if (result != null) { 
      if (result.getContents() == null) { 
       Log.d("ScanActivity", "Cancelled scan"); 
       Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show(); 

      } else { 

       Log.d("ScanActivity", "Scanned"); 

       String bcval = result.getContents(); 
       if (android.os.Build.VERSION.SDK_INT < 19) { 
        webView.loadUrl("javascript:actfromAnd(\""+bcval+"\")"); 
       }else{ 
        webView.evaluateJavascript("javascript:actfromAnd(\""+bcval+"\")", null); 
       } 
       System.out.println("javascript:actfromAnd(\""+bcval+"\")"); 

      } 
     } else 
      super.onActivityResult(requestCode, resultCode, data); 
    } 

我的问题是,它在SI做工精细与Js的Html/PHP文件在同一页或单独的页面我已经测试了它的扫描和更新输入框中的值...

但它不工作,因为我在一个webview中使用多个页面或框架... 其缺少的JS值...如何形成服务器其开幕扫描仪在点击...但扫描后的价值是没有传递到输入框与JS我得到这个错误.....

I/chromium: [INFO:CONSOLE(1)] "Uncaught ReferenceError: actfromAnd is not defined", source: (1) 

更新

1)I HAVA在侧与JS尝试这种在静态网页,PHP/HTM大号
页 2)我也有同样想在一个静态页面与JS单独的页面
在上述两个条件其工作的罚款

但在我的网络服务,我已经给它在成功运行相同的JS文件静态页面我有一个单独的JS文件我的Web服务和静态页面其静态工作正常,但不工作在我的web服务生活..如何加载JS因为点击它从JS和它的开幕相机但扫描后响应它不会网络输入

据我所知,我得到错误,因为...

In my Live Page I have a MainMenu Inside that menu when I select a application its loading in iframe So my Android Activity responce after scanning Is pinging to that Mainmenu page But for menu there is no Js function named actfromAnd So I am getting Error...

在这里,我不能给特定页面(iframe)因为根据菜单的URL它将改变我能给的也只有登录或MainMenu的链接directly.but没有为特定的页面里面的菜单

可以任何人建议我这种...

+0

哪里是actfrom和方法写的?如果它在PHP中是脚本写入输出页面? –

+0

'actfromAnd'是用JS和Android编写的两种形式android我将用JS发送我的条形码输出到'actfromAndroid',但它的工作原理如何,但是......它不适用于我的情况,请检查我的更新问题...由于'iframe'没有响应...我的应用程序发送数据到菜单页面不是'iframe页面'所以我得到错误 – MLN

+1

尝试与父母。<< yourfunction >>名称如果您使用iframe –

回答

1

你父菜单具有添加在网络服务这个脚本您iframeiframes

<script> 
function actfromAnd(msg){ 
window.frames['yourExactframe'].document.getElementById("brcd").value = msg; 
} 
</script> 

如果你是在一个以上的帧使用相同然后声明你的框架名全球

我试过你的代码工作很好...在我的例子框架希望它适合你

很好的问题....

+0

谢谢这个示例代码帮助我.... **'window.frames ['yourExactframe']。** **它的工作......只有一行.... – MLN

0
  • 当页面加载

    mWebView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { webview.loadUrl("javascript:myFunction()"); } });

  • 的代码会被执行,会发现你的JavaScript功能,您应该执行JavaScript。你现在的做法不会等待。

+0

感谢您的响应用户@ Harshil Kulkarni .......我已经在onPageFinished中添加了这个,但没有响应仍然是同一个问题...因为登录后我需要选择菜单在菜单中我的web服务在那里对于特定的模块只有这个Java脚本...所以它不工作... – MLN

+0

好吧,对不起,我会稍后删除我的帖子。 –

+0

没有问题..但这可能有助于某些人如此保持答案,如果你得到新的更新它....感谢... – MLN

相关问题