标签: webview

如何处理webview确认对话框?

我在WebView中显示一个网页,在网页上有一个按钮.当您单击该按钮时,应该弹出一个确认对话框,但它不会显示在我的WebView中.如果我在Android浏览器中访问同一个网页,它会弹出.任何人都知道如何处理来自WebView内部网页的弹出对话框?

android dialog popup handle webview

21
推荐指数
1
解决办法
2万
查看次数

使用WebView的loadData编码问题

我正在使用WebView加载一些包含latin-1字符的数据

String uri = Uri.encode(html);
webview.loadData(uri, "text/html", "ISO-8859-1");
Run Code Online (Sandbox Code Playgroud)

显示时,latin1字符将被奇怪的字符替换.

如果我直接在TextView中加载html(只是为了测试),就会正确显示拉丁字符.

有人可以帮忙吗?

谢谢

HTML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

    <!-- some html -->

</html>
Run Code Online (Sandbox Code Playgroud)

encoding android webview

21
推荐指数
4
解决办法
3万
查看次数

android - 如何在没有互联网连接时阻止webview加载

我有一个Android应用程序,它有一个webview.当没有互联网连接时,webview将显示页面不可用.我希望尽可能让它看起来像一个应用程序,所以我不想显示这个页面.我在网上找到了一些有用的信息,教你如何隐藏或加载其他内容来覆盖它,但我真正想要的是留在当前页面和一个小弹出对话框说没有连接.基本上,当用户点击webview中的任何内容时,首先检查连接.如果没有连接,请保持原状并弹出一个对话框.

谢谢您的帮助!!

编辑:

就像我说的,我已经知道如何从在线样本检查互联网连接.我的问题是我不知道如何停止加载下一页.需要说明的是,当用户尝试转到下一页时,请检查是否存在互联网连接.如果没有连接,页面将保持原样,不会进入下一页.我希望用户能够看到他们上次加载的页面,并在网页内容仍然存在时获得通知.谢谢!

connection android webview

21
推荐指数
2
解决办法
5万
查看次数

不要导航到WebView中的其他页面,禁用链接和引用

我在Android中有一个webView,我在其中打开一个html网页.但它充满了链接和图像,当我点击其中一个时,它会加载到我的webview中.我想禁用此行为,因此如果我单击链接,请不要加载它.我已经尝试过这个解决方案并为myselft编辑了一下,但没有奏效.我的webview客户端代码:

private boolean loaded = false;

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {

    if(loaded == false){
        view.loadUrl(url);
        loaded = true;
        return true;
    }else{
        return false;
    }

}
Run Code Online (Sandbox Code Playgroud)

我的webview实现和设置.

WebView wv = (WebView) findViewById(R.id.recipeWv);
    ourWebViewClient webViewClient = new ourWebViewClient();
    webViewClient.shouldOverrideUrlLoading(wv, URLsave);
    wv.setWebViewClient(webViewClient);
    wv.setFocusableInTouchMode(false);
    wv.setFocusable(false);
    wv.setClickable(false);
    WebSettings settings = wv.getSettings();
    settings.setDefaultTextEncodingName("utf-8");

    settings.setLoadWithOverviewMode(true);
    settings.setBuiltInZoomControls(true);
Run Code Online (Sandbox Code Playgroud)

示例:如果用户在我的webview中打开StackOverflow主页并单击其中一个链接(如"问题"),则webview应保留在StackOverflow主页上.

html android webview

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

哪个可以取代capturePicture功能

我有个问题.目前,WebView 的capturePicture弃用.

我想问一下是否有办法替换这个功能.我的意思是它可以捕获整个webview(不仅显示视图)

谢谢

android capture webview

21
推荐指数
2
解决办法
2万
查看次数

在Android模拟器上,尝试加载webview我得到net :: err_cache_miss

我尝试了Android开发者网站上显示的示例,在WebView组件上显示网页但没有成功.模拟器显示以下错误:

网页无法访问http://developer.android.com上的网页 无法加载,因为:net :: ERR_CHACHE_MISS

到目前为止,我找不到任何解决方案,即使在查看网络上的其他主题之后.我也试过不同的链接.我不知道是否有助于理解此错误的原因,但模拟器是带有Android 5.0.1的Nexus 4 API 21.我正在使用Android Studio 1.0.

代码与示例相同:

In MainActivity.java:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);            
    setContentView(R.layout.activity_main);

    WebView myWebView = (WebView) findViewById(R.id.webview);
    WebSettings webSettings = myWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);           
    myWebView.loadUrl("http://developer.android.com/");
}
Run Code Online (Sandbox Code Playgroud)

在AndroidManifest中:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <uses-permission android:name="android.permission.INTERNET" />
.....
Run Code Online (Sandbox Code Playgroud)

在视图中,我添加了相同的示例代码

示例如下:http: //developer.android.com/guide/webapps/webview.html

android webview

21
推荐指数
2
解决办法
2万
查看次数

我可以在View中使用WebView(本地反应)吗?

我正在尝试在View组件中使用WebView Component,用于我正在处理的反应本机应用程序.当我在View中嵌入WebView时,我没有看到我在WebView中显示的内容.这是本地反应的预期行为吗?

webview react-native

21
推荐指数
3
解决办法
2万
查看次数

React Native WebView postMessage不起作用

我无法让React Native WebView postMessage工作.React Native应用程序成功从Web应用程序接收post message messaget.但是,Web应用程序不会从React Native应用程序接收消息sendt.

我简单的网络应用

<html>
<body>

<button>Send post message from web</button>
<div>Post message log</div>
<textarea style="height: 50%; width: 100%;" readonly></textarea>

<script>
var log = document.querySelector("textarea");

document.querySelector("button").onclick = function() {
    console.log("Send post message");

    logMessage("Sending post message from web..");
    window.postMessage("Post message from web", "*");
}

window.addEventListener("message", function(event) {
    console.log("Received post message", event);

    logMessage(event.data);
}, false);

function logMessage(message) {
    log.append((new Date()) + " " + message + "\n");
}

</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

此Web应用程序托管在:https://popping-heat-6062.firebaseapp.com/

我简单的React Native应用程序 …

javascript html5 webview react-native

21
推荐指数
4
解决办法
3万
查看次数

(React Native)将本地HTML文件加载到WebView中

我试图通过本地加载的.html文件到WebView阵营母语:

// load local .html file
const PolicyHTML = require('./Policy.html');

// PolicyHTML is just a number of `1`
console.log('PolicyHTML:', PolicyHTML);

// will cause an error: JSON value '1' of type NSNumber cannot be converted to NSString
<WebView html={PolicyHTML} />
Run Code Online (Sandbox Code Playgroud)

.html文件应该作为字符串读取,而不是作为资源代表.

如何将.html文件加载到WebViewReact Native中?


顺便说一下,那些资源代表的类型是require()什么?是number吗?

webview react-native

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

检测触摸是否是Apple Pencil或手指在webview中(做出本机反应)

在safari mobile中,触摸可以分为Apple Pencil vs other(手指/鼠标),使用:

event.touches[0].touchType === 'stylus' //pencil
event.touches[0].touchType !== 'stylus' //other
Run Code Online (Sandbox Code Playgroud)

但是,在本机webview(Apple Pencil和使用手指)中收到的所有事件都会收到:

touchType === 'direct' //inside webview, both pencil and other
Run Code Online (Sandbox Code Playgroud)

如何在Webview中检测Apple Pencil的触摸?

显然event.touches[0] > 0是另一种可能性,但这也0适用于webview中的两种类型.

(不确定这是反应原生的问题还是webviews的内置限制).

有关:

webview ios react-native

21
推荐指数
2
解决办法
1468
查看次数