我的 JavaScript函数未被调用< a>< / a> onClick方法.
这是我的HTML和JavaScript代码:
<HTML><script type="text/JavaScript" src="http://blue.xxxxxxxx.com/xxxxx/site/Js/jquery.Js"></script><script>function openfileDialog(){ //$("#file").click(); alert("Test");}</script><body><form action="upload_file.PHP" method="post"enctype="multipart/form-data"><label for="file">filename:</label><input type="file" name="file" ID="file"><br><input type="submit" name="submit" value="submit"></form><a href="JavaScript:;" onclick="openfileDialog();">Shujaat</a></body></HTML>
这是我的整个java webvIEws代码.
package com.example.findozerapp;import my.functions.MyFunctions;import androID.app.Activity;import androID.content.Context;import androID.graphics.Bitmap;import androID.os.Bundle;import androID.webkit.WebSettings.ZoomDensity;import androID.webkit.WebVIEw;import androID.webkit.WebVIEwClIEnt;public class MainActivity extends Activity {Context context = MainActivity.this;Activity activity = MainActivity.this;WebVIEw webVIEw;MyFunctions myFunctions;@OverrIDeprotected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); myFunctions = new MyFunctions(activity); webVIEw = (WebVIEw) findVIEwByID(R.ID.webVIEw1); configureWebvIEw();}@OverrIDeprotected voID onStart() { // Todo auto-generated method stub super.onStart(); webVIEw.loadUrl("http://www.xxxxxxx.com/qadir/");}private voID configureWebvIEw() { webVIEw.setpadding(0,0); webVIEw.setinitialScale(myFunctions.setWebVIEwScale()); webVIEw.getSettings().setDefaultZoom(ZoomDensity.FAR); webVIEw.getSettings().setJavaScriptEnabled(true); webVIEw.getSettings().setJavaScriptCanopenwindowsautomatically(true); webVIEw.getSettings().setBuiltInZoomControls(true); webVIEw.getSettings().setLoaDWithOverviewmode(true); webVIEw.getSettings().setUseWIDeVIEwPort(true); webVIEw.getSettings().setCacheMode(MODE_APPEND); webVIEw.setWebVIEwClIEnt(new MyWebVIEwClIEnt());}private class MyWebVIEwClIEnt extends WebVIEwClIEnt { @OverrIDe public voID onPageStarted(WebVIEw vIEw,String url,Bitmap favicon) { // Todo auto-generated method stub super.onPageStarted(vIEw,url,favicon); } @OverrIDe public boolean shouldOverrIDeUrlLoading(WebVIEw vIEw,String url) { // Todo auto-generated method stub return super.shouldOverrIDeUrlLoading(vIEw,url); } @OverrIDe public voID onPageFinished(WebVIEw vIEw,String url) { // Todo auto-generated method stub super.onPageFinished(vIEw,url); }} }
请注意我已在我的webvIEw中启用了JavaScript.
但它没有调用我的JavaScript函数openfileDialog().
还有一件事.每当我在默认的androID浏览器中加载我的这个网页时,它的工作完美.哪里我做错了.请检查我的webvIEw设置.
解决方法 如果已将targetSdkVersion设置为17或更高,则必须将@JavaScriptInterface注释添加到您希望网页代码可用的任何方法(该方法也必须是公共的).如果您未提供注释,则在AndroID 4.2或更高版本上运行时,您的网页将无法访问该方法. 总结以上是内存溢出为你收集整理的在Android webview中没有调用Javascript函数全部内容,希望文章能够帮你解决在Android webview中没有调用Javascript函数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)