标签: webview

Android在WebView中调用JavaScript函数

我试图将一些javascript函数调用在一个html页面中运行android webview.很简单,什么代码尝试下面的事情-从Android应用程序,调用一个javascript带有测试消息,它依次调用Java函数回,在Android应用程序,通过敬酒显示测试消息功能.

javascript功能如下:

function testEcho(message){
     window.JSInterface.doEchoTest(message);
}
Run Code Online (Sandbox Code Playgroud)

从WebView,我试着javascript通过以下方式调用,没有运气:

myWebView.loadUrl("javascript:testEcho(Hello World!)");
mWebView.loadUrl("javascript:(function () { " + "testEcho(Hello World!);" + "})()");
Run Code Online (Sandbox Code Playgroud)

我确实启用javascriptWebView

myWebView.getSettings().setJavaScriptEnabled(true);
// register class containing methods to be exposed to JavaScript
myWebView.addJavascriptInterface(myJSInterface, "JSInterface"); 
Run Code Online (Sandbox Code Playgroud)

并且继承了Java班级

public class JSInterface{

private WebView mAppView;
public JSInterface  (WebView appView) {
        this.mAppView = appView;
    }

    public void doEchoTest(String echo){
        Toast toast = Toast.makeText(mAppView.getContext(), echo, Toast.LENGTH_SHORT);
        toast.show();
    }
}
Run Code Online (Sandbox Code Playgroud)

我花了很多时间在谷歌上搜索我可能做错了什么.我发现的所有例子都使用这种方法.有没有人在这里看错了? …

javascript android webview

234
推荐指数
7
解决办法
26万
查看次数

Android webview和localStorage

我有一个webview的问题,可以通过HTML5应用程序访问localStorage .test.html文件通知我浏览器不支持本地存储(即.webview).如果您有任何建议..

package com.test.HelloWebView; 
import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.KeyEvent; 
import android.webkit.WebChromeClient; 
import android.webkit.WebSettings; 
import android.webkit.WebStorage; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
public class HelloWebView extends Activity { 
WebView webview; 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    webview = (WebView) findViewById(R.id.webview); 
    webview.getSettings().setJavaScriptEnabled(true); 
    webview.setWebViewClient(new HelloWebViewClient()); 
    webview.loadUrl("file:///android_asset/test.html"); 
    WebSettings settings = webview.getSettings(); 
    settings.setJavaScriptEnabled(true); 
    settings.setDatabaseEnabled(true); 
    String databasePath = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath(); 
    settings.setDatabasePath(databasePath);
    webview.setWebChromeClient(new WebChromeClient() { 
    public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize, long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) …
Run Code Online (Sandbox Code Playgroud)

html5 android webview local-storage

230
推荐指数
6
解决办法
12万
查看次数

如何检查Documents文件夹中是否存在文件?

我有一个应用程序内购买的应用程序,当用户购买东西时,将一个html文件下载到我的应用程序的Documents文件夹中.

现在我必须检查这个HTML文件是否存在,如果是,则加载此HTML文件,否则加载我的默认html页面.

我怎么能这样做?随着NSFileManager我无法走出mainBundle...

iphone xcode webview nsfilemanager ios

212
推荐指数
3
解决办法
15万
查看次数

Android webview很慢

android webviews很慢.这是从手机到3.0+平板电脑的各种规格

我知道,网页视图都应该是"有限的",但我看到的网络应用与必须使用的各种手机的差距做CSS3JQuery巫术,他们跑就好了,并迅速

所以我错过了什么,有什么myWebview.SPEEDHACK(1)我可以用来加快速度吗?

另外,有时我的webview的内容只是不加载,而不是慢慢加载,它只是不会加载.我正在测试的资产存储在本地,没有错误.

performance android webview

168
推荐指数
7
解决办法
15万
查看次数

jQuery获取元素相对于窗口的位置

给定HTML DOM ID,如何在JavaScript/JQuery中获取元素相对于窗口的位置?这与相对于文档和偏移父项不同,因为该元素可能位于iframe或其他元素内.我需要获取元素矩形的屏幕位置(如位置和尺寸),因为它当前正在显示.如果元素当前处于屏幕外(已滚动关闭),则可以接受负值.

这适用于iPad(WebKit/WebView)应用程序.每当用户点击一个特殊链接时UIWebView,我应该打开一个弹出视图,显示有关该链接的更多信息.弹出视图需要显示一个箭头,该箭头指向调用它的屏幕部分.

javascript jquery webkit webview ipad

167
推荐指数
4
解决办法
32万
查看次数

WebView中的文件上载

自从过去几天以来,我一直在努力从WebView上传文件,但没有任何进展.我用谷歌搜索并实现了所有建议的解决方案,但都没有,例如:此处建议的解决方案,等等.

问题:我有一个带有以下代码的HTML页面来上传文件.它在Firefox等桌面浏览器和模拟器/ AVD的内置浏览器中工作正常,当我点击元素呈现的"浏览..."按钮时,浏览器会打开一个对话框,我可以在其中选择要上传的文件.

但是,在android 3.0模拟器/ AVD中,当我点击"选择文件"时,没有任何反应,没有打开文件对话框!

<form method="POST" enctype="multipart/form-data">
File to upload: <input type="file" name="uploadfile">&nbsp;&nbsp;
<input type="submit" value="Press to Upload..."> to upload the file!
</form>
Run Code Online (Sandbox Code Playgroud)

有人可以最早建议一个可能的解决方案.

android webview android-emulator

156
推荐指数
15
解决办法
19万
查看次数

Android WebView样式background-color:透明在android 2.2上被忽略

我正在努力创建一个透明背景的WebView.

webView.setBackgroundColor(0x00FFFFFF);
webView.setBackgroundDrawable(myDrawable);
Run Code Online (Sandbox Code Playgroud)

然后我加载一个html页面

<body style="background-color:transparent;" ...
Run Code Online (Sandbox Code Playgroud)

WebView的背景颜色是透明的,但是一旦页面加载,它就会被html页面中的黑色背景覆盖.这只发生在Android 2.2上,它适用于android 2.1.

那么在html页面代码中添加一些内容以使其真正透明吗?

transparency android background transparent webview

150
推荐指数
12
解决办法
12万
查看次数

Android WebView:处理方向更改

问题是旋转后的性能.WebView必须重新加载页面,这可能有点单调乏味.

每次处理方向更改而不从源重新加载页面的最佳方法是什么?

android orientation webview

145
推荐指数
5
解决办法
9万
查看次数

如何在android上将html字符串传递给webview

您好我正在解析xml然后将其加载到Web视图,解析后我创建了四个字符串,以便我可以将所有字符串追加到一个视图.我能够在Web视图上获得两个视图,但不能获得前两个字符串.

请用我的代码建议我,我在哪里出错,在web视图上获取格式化的html字符串的正确方法是什么.请看看我的代码并帮助我解决这个问题.

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        String chapterTitle = "";
        String SubChapterTitle="";
        String chapterIntro ="";
        String chapterContent="";
        View view = convertView;
        if (convertView == null) {
            // view = inflater.inflate(resourceid, null);
            view = getLayoutInflater().inflate(R.layout.webviewitem, null);
        }
        synchronized (view) {
            WebView wv = (WebView) view.findViewById(R.id.contentWebView);

            WebSettings settings = wv.getSettings();
            settings.setUseWideViewPort(true);
            settings.setLoadWithOverviewMode(true);
            settings.setJavaScriptEnabled(true);
            settings.setDefaultZoom(ZoomDensity.FAR);
            // wv.setBackgroundColor(0);
            wv.setVerticalScrollBarEnabled(false);
            wv.setHorizontalScrollBarEnabled(false);
            /*String txtChapTitle = Intro.book.getsecretList().get(position)
                    .getChtitle().toString();*/

            if (!(Intro.book.getsecretList().get(position).getChtitle()
                    .toString().equals(""))){
            chapterTitle = "<b><fontSize=4>"+Intro.book.getsecretList().get(position)
            .getChtitle().toString()+"</font></b>";
            } …
Run Code Online (Sandbox Code Playgroud)

android webview

134
推荐指数
4
解决办法
13万
查看次数

Safari中的Swift Open Link

我目前正在我的应用程序中打开链接WebView,但我正在寻找一个选项来在Safari中打开链接.

safari webview swift

125
推荐指数
6
解决办法
9万
查看次数