- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我们的应用程序中,我们使用 webview 在 View 中加载外部链接。使用 loadurl 方法加载链接并设置 webview 客户端显示预加载器和 webchrome 客户端以监听 webview 的任何链接更改。
在 webview 中加载的 URL。加载链接时,有几个 iframe,在其中我们有一个文本链接。单击链接时,页面需要在默认浏览器中打开,而不是在 webview 本身中打开。
使用 min-sdk/API 级别 8 构建项目。以下是供引用的代码 fragment 。 Oncreate 将 webview 客户端和 webchromeclient 附加到 webview,然后为其分配 URL。
private class SomWebViewClient extends WebChromeClient{
public void onProgressChanged (WebView view, int newProgress){
if(newProgress == 100){
}
}
}
private class SomWebViewDefClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
@Override
public void onLoadResource (WebView view, String url){
if(url.equalsIgnoreCase("http://google.com")){
view.stopLoading();
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
view.canGoBack();
}
}
}
我尝试将 WebViewClient 添加到 webview 并在 shouldOverrideUrlLoading 方法中识别 URL 更改。但是这里没有捕获任何事件。有什么方法可以处理 webview url 的 iframe 内的点击。
当我尝试在 webview(没有任何 iframe)中打开不同的链接时,能够跟踪在 shouldOverrideUrlLoading 中触发的点击。但是,当 URL 包含 iframe 并且当用户点击 webview 内的任何链接时,无法在 shouldOverrideUrlLoading 内部进行跟踪并在同一 webview 本身而不是新的浏览器窗口中打开。
当我搜索问题时,我无法找到确切的问题。如果有人遇到类似问题并找到解决方案,请分享。
如果还有其他需要,请告诉我。
提前致谢,问候斯里尼瓦桑.C
最佳答案
也许你打破了Same Origin Policy .看看this similar post .
编辑:有一种方法可以克服此安全策略,但您需要接受您面临的风险。在响应中,确保您有以下 header :“Access-Control-Allow-Origin:”
关于Android - webview - shouldOverrideUrlLoading 未调用 - 当用户单击 iframe 内的链接时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16447437/
当在我的 WebView 中单击链接时,我使用 shouldoverrideurlloading 来触发函数。他们是一种在单击链接时阻止 webview 加载新屏幕的方法吗?我想做的就是当用户单击链接
我重写了 WebViewClient 的方法 shouldOverrideUrlLoading,当手机连接到互联网时它工作正常,但当互联网未连接时它不会接到电话。谁能解释可能是什么原因?我正在使用安卓
当我尝试显示 PDF 文件时,这段代码创建了一个无限循环,我该如何避免? 谢谢。 mWebview.setWebViewClient(new WebViewClient() { @O
如果我单击 web View 中的链接,则 shouldOverrideUrlLoading() 永远不会被调用。(它不显示 toast 或记录任何内容)。我也尝试过 onPageFinished 并
我正在使用这种方法 -并返回 true 或 super.shouldOverrideUrlLoading(view,url);我为自己的天真道歉,但我不明白返回 true 或父类(super clas
我将 shouldOverrideUrlLoading 方法用于针对多个客户端进行个性化设置的应用程序。每个客户端都有自己的网页,需要加载到 webview 中。我的问题是:该应用程序非常适合客户 A
在我的应用程序中,shouldOverrideUrlLoading() 未在 4.0.3 版本上调用。我已经在 2.2 和 4.0.1 上测试过,它们都工作正常。设备名称是 HTC verizon。
我正在尝试在 webview 中加载 URL 但它没有调用 shouldOverrideUrlLoading webview.setWebViewClient(new HelloWebViewCli
嗨,这对我不起作用: webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrl
我以html格式调用本地存储中的文件并在webview中显示。在我的 html 中包含一个 url,它将单击并显示在同一个 webview 中。但是当我调用 shouldOverrideUrlLoad
在我的应用程序中,第一次有一个登录屏幕显示在 WebView 中。在该屏幕中将出现一个弹出窗口,其中包含用户名和密码。在按下登录按钮时提供详细信息后,提交用户名和密码,它将调用 php 代码进行用户名
我的代码: public class View_WebView extends Activity { WebView myWebView; private class MyW
public WebView mywebview; @Override protected void onCreate(Bundle savedInstanceState) { super.o
我正在尝试弄清楚如何在 Swift for IOS 中使用 shouldOverrideUrlLoading (Android)。我想从 webview 中捕获 URL 而不是加载该 URL。 swi
我正在制作一个电子书阅读器,它使用 epub 格式将书籍加载到 webview 中。在某些书中,同一章的某些部分有一个 anchor 链接。每章都以 html 格式加载。这是链接的样子 file://
问题很简单。在应用程序中,我们希望跟踪显示的当前 url。为此,我们使用来自 WebViewClient 的 shouldOverrideUrlLoading 回调,方法是在每次更新时将 url 保存
我正在使用 WebViewClient.shouldOverrideUrlLoading捕捉 WebView 中的任何链接点击。这在大约 95% 的时间都有效,但有时根本不会被调用。 我在这三种情况下
在我的应用程序中,在 Honeycombe 3.2 版本上未调用 shouldOverrideUrlLoading()。我已经在 2.2 和 4.0.1 上测试过,它们都工作正常。 这是 Honeyc
我的应用程序中有这段代码: public class Home extends Activity{ @Override public void onCreate(Bundle savedInstanc
HTML 文件中有两种类型的链接: (1) A normal link like http://www.bbb.com/q?type=normal (2) A short link like /q?t
我是一名优秀的程序员,十分优秀!