Articles of webview

点击在WebView中不起作用

我有我的android应用程序的webview。 我已经加载了url: https : //imsnsit.org/imsnsit/notifications.php 有各种通知的链接。 当我点击它们时,我的WebView没有任何作用。 它正在处理所有其他事情 – Chrome(Android),Chrome(桌面)。 链接很好。 有一件事我注意到通知有PHP文件的href。 只是导航到该链接不起作用。 我得到无效的操作。 再加上链接不是静态的,每次刷新页面时都会改变(只是plum_url.php的参数)。 我已经在使用这些function。 没什么帮助。 webSettings.setJavaScriptEnabled(true); webSettings.setJavaScriptCanOpenWindowsAutomatically(true); webSettings.setDomStorageEnabled(true);

Android的webview SKIPS JavaScript甚至与setJavascriptEnabled(true)和WebChromeClient

(使用三星Galaxy Tab和Android 3.0,这是打算在每个3.0+平板电脑上工作,就像在他们的浏览器,而不是webview) 我有一个CSS和jQuery的页面,在浏览器,Android浏览器和iOS设备上加载罚款,但android webview拒绝加载它一贯。 我已经缩小了这个问题,只是简单地跳过JavaScript的负载(通过复制一些webview的JavaScript演示应用程序的问题)。 为什么是这样? 这里是完整的testingHTML代码http://pastebin.com/GmE2vEYx 这就是我所说的: myWebview.loadUrl("file:///android_asset/myPage.html"); myWebview.getSettings().setJavaScriptEnabled(true); myWebview.setWebChromeClient(new WebChromeClient()); 这三个调用的顺序不会影响结果。 myWebview.getSettings().setJavaScriptEnabled(true); myWebview.setWebChromeClient(new WebChromeClient()); myWebview.loadUrl("file:///android_asset/myPage.html"); 我注意到的一件事是,如果你花时间(通过在debugging器中暂停一个断点的应用程序),那么JavaScript将更加一致的加载。 这导致我进行了一些尝试使应用程序加载速度变慢的牵强的实验,但这实际上并不是所需的用户体验。 我真的希望Android的webview真的不是移动开发的IE6。 其他事实: 如果删除包含所有Jquery的<script>标记,则页面会快速加载所有CSS格式。 一旦Jquery被添加,什么都不加载。 我还发现了几个其他问题,遇到完全相同的问题,许多人没有回答,或没有确切的答案OP是寻求:( 请参阅: Android:无法获取JavaScript即使使用setJavaScriptEnabled也可以在WebView上工作(true) 页面重新加载(Webview.loadUrl)导致Javascript未被(完全)处理 http://groups.google.com/group/android-developers/browse_thread/thread/9962064ef217a5a7# JavaScript有时在android的webview中不起作用 Android WebView不加载JavaScript文件,但Android浏览器加载它很好 Android的Webview无法处理JavaScript? build议? 让我们来看看这个! android文档说webview有局限性,但是我不知道限制在哪里,因为人们总是在制作HTML CSS JS应用程序!

如何使我的项目与不同的SDK版本兼容,同时使用特定版本的function

我正在开发一个在web视图中使用Flashvideo的项目。 我解决了所有关于代码的问题,但只在Honeycomb下工作。 阅读本文后,我发现如何解决Android 3.0及更高版本(包括ICS)的问题,但现在这是一个大问题…如果我使我的项目与ICS兼容,我必须使用该指令,但是我不会姜饼上运行。 为了提供更多的信息.​​..有问题的一段代码是这样的: android:hardwareAccelerated="true" 这是一个包含在Android 3.0中的属性。 那么,有什么办法可以避免构build两个不同的apks(像HoneyComb之前的apk和后HoneyComb apk)? 这是我的一个Android清单: <application android:label="@string/app_name" android:icon="@drawable/elabora" android:theme="@android:style/Theme.NoTitleBar"> <activity android:name="es.fundacionvodafone.elabora.android.controlador.InicioElaboraTest" android:label="@string/app_name" android:noHistory="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="es.fundacionvodafone.elabora.android.controlador.InicioElabora" android:configChanges="orientation|keyboardHidden" android:label="@string/app_name" android:hardwareAccelerated="true"> <!– <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> –> </activity> 提前致谢。 更新:我已经在使用Mike解释,也就是说,正确定义minSdk和targetSdk,但是我被以下事实弄糊涂了。 通过这样的项目configuration,当你在eclipse中运行项目时,它会提示下面的窗口: 红叉意味着项目targetSdk级别高于设备API级别。 所以我认为这只是在这个设备不工作,但事情是你可以真正运行它,并按预期工作。

我如何使用webview下载文件? (这种情况很奇怪)

我想使用webview从网站下载文件(如.mp3),但问题是每当我点击链接,它会打开浏览器(默认之一),这是在一秒之前它出现closures。 没有下载文件。 这是我的代码, import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient; import android.webkit.WebChromeClient; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.webkit.DownloadListener; import android.widget.Button; import android.widget.TextView; public class Main extends Activity { WebView webview; Button bt_search; TextView txt_search; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webview = (WebView) findViewById(R.id.webView); webview.setWebChromeClient(new WebChromeClient()); […]

WebView中的Flash无法在Android 3.2上运行

我遇到的问题只发生在我通过OTA更新到3.2的Motorola Xoom上。 我有一个简单的应用程序,使用WebView加载一个小的HTML,其中有Flash内容。 这是代码片段。 mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setPluginsEnabled(true); 我知道这是正确的,因为它可以在运行Android 2.2的我的Samsung Galaxy S上正常运行。 其他人看到这个问题? 任何想法如何我可以解决这个问题? 非常感谢,我真的被困在这里。

必须加载数据两次,才能在Android中刷新WebView

当我第一次创build活动时,一切都很顺利。 但是,我从菜单中select后,改变一些string值的文本,并设置web视图 webview.loadData(result, "text/html; charset=UTF-8", null); webview.loadData(result, "text/html; charset=UTF-8", null); 我必须做两次,否则webview将保持不变。 有没有人知道这里发生了什么? 由于结果string是相同的,为什么webview强制我加载数据两次?

Android webview“未捕获的SyntaxError:意外的令牌非法”

在我的android程序中,我得到了一个webview,并需要dynamic地设置值到webview元素(textareas,checkbox等)。 我有一个JavaScript方法从程序接收值,并执行string操作,并将值存储到正确的元素。 但我总是得到这个错误…有点卡在这里。 任何帮助将不胜感激。 我成功地执行了w3schools TryIt编辑器中的脚本,但没有在程序中工作! final WebView webView = new WebView(getApplicationContext()); LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT, 1); webView.setLayoutParams(params); webView.setBackgroundColor(Color.LTGRAY); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setDomStorageEnabled(true); webView.setWebChromeClient(new android.webkit.WebChromeClient()); webView.setWebViewClient(new WebChromeClient()); webView.loadData("<!DOCTYPE html><html><body>"+ questionsArray[questionIndex] +"</body></html>", "text/html", "UTF-8"); webView.addJavascriptInterface(javaScriptInterface, "HtmlViewer"); scrolRootLayout.addView(surveyWebView); 和我的Javascript方法来设置webView中的textareas值 function myFunction(var_) { var str = var_.replace("-!!!-",""); var pipeSplitedArray = str.split("||"); for(var i=0; i<pipeSplitedArray.length-1; i++) { if(pipeSplitedArray[i].indexOf("-!@!-") == […]

带有IFRAME android的WebView

我想在WebView加载一个HTML <IFRAME> ,但是我不知道为什么,它不能这样做。 我正在使用下面的代码来加载<IFRAME> webView.loadData("<iframe src=\"http://www.google.com\"></iframe>", "text/html", "utf-8"); 这是我所尝试的。 WebSettings webViewSettings = webView.getSettings(); webViewSettings.setJavaScriptCanOpenWindowsAutomatically(true); webViewSettings.setJavaScriptEnabled(true); webViewSettings.setPluginsEnabled(true); webViewSettings.setBuiltInZoomControls(true); webViewSettings.setPluginState(PluginState.ON); 我提到了互联网许可: <uses-permission android:name="android.permission.INTERNET" /> 我也尝试设置WebViewClient与shouldOverrideUrlLoading总是返回false。 但它只是不工作。 我试过这个不同的网站,即非google.com网站。 我正在testing这个,三星Nexus S运行ICS 4.0.3

Web视图在滚动时闪烁/闪烁

我正在开发混合应用程序,我在应用程序中捆绑了HTML5文件。 我需要在HTML页面上播放video,因为我在清单文件中使用了android:hardwareAccelerated="true" permission 。 但是,当我滚动webview它闪烁/闪烁的看法。 请让我知道如何解决这个问题。 提前致谢。

我可以传递一个Javascript对象到一个Android WebView吗?

我正在将一个Web应用程序迁移到一个Android版本。 在收到并处理了JSON数据之后,我在页面中保存了一个Javascript对象数组。 我怎样才能将一个JavaScript对象的完整内容“out”传递给webview容器,以使用原生android控件进行显示? 最终,我可以创build一个JavaScript接口,其中包含每个可能的JavaScript对象属性的参数 – 但这似乎过于沉重。 有人能帮忙吗 ?