android webview中的超链接,Android的 - 如何拦截iframe(webview)内的链接,并检查它是否完全加载...

我正在加载使用离子在android中的webview内创建www文件夹。在webview我使用iframe加载一些html.Everything工作正常,但无法拦截iframe中的超链接,无法检查它是否完全加载。Android的 - 如何拦截iframe(webview)内的链接,并检查它是否完全加载

这里是我的活动代码,

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

activity = MainActivity.this;

webview=(WebView) findViewById(R.id.webView1);

webViewConfiguration();

setWebViewListner();

webview.setBackgroundColor(0x00000000);

}

private void setWebViewListner() {

webview.setWebViewClient(new WebViewClient(){

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

if(url.startsWith("tel://")) {

Tel=url.replace("//", "");

Log.d("*** url with removed // ***",Tel);

Intent intent = new Intent(Intent.ACTION_DIAL);

intent.setData(Uri.parse(Tel));

startActivity(intent);

return true;

}

else

return false;

}

public void onPageFinished(WebView view, String url) {

webview.loadUrl("javascript:invokeController("+true+")");

Log.d("*** on page finished ***",url);

}

});

}

private void webViewConfiguration() {

WebSettings webSettings = webview.getSettings();

webSettings.setJavaScriptEnabled(true);

webSettings.setDomStorageEnabled(true);

webSettings.setAllowFileAccess(true);

webview.addJavascriptInterface(this, "javaScriptToJava");

webSettings.setJavaScriptCanOpenWindowsAutomatically(true);

if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {

webSettings.setAllowFileAccessFromFileURLs(true);

webSettings.setAllowUniversalAccessFromFileURLs(true);

}

webview.loadUrl(Url);

}

@JavascriptInterface

public void nativeBackButton() {

finish();

}

@JavascriptInterface

public void keyBoardClose(){

if (imm!=null) {

imm.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);

}

}

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

if(event.getAction() == KeyEvent.ACTION_DOWN){

switch(keyCode)

{

case KeyEvent.KEYCODE_BACK:

webview.loadUrl("javascript:callBackIonic()");

return true;

}

}

return super.onKeyDown(keyCode, event);

}

}

shouldOverrideUrlLoading是越来越触发,如果里面的iframe在href链接电话://../../或文件:///android_asset/../。 ./但它不会被触发,如果它是一个http请求。

我想为iframe中的每个链接按下一个加载器。

任何人都可以说如果有一种方法来处理webview中的iframe中的http超链接。

编辑: 我使用ng-bind-html/ng-include替换了我的html中的iframe,并且我能够拦截链接和onPageFinished函数。但是如果我使用了样式和其他一些东西,使用ng-bind-html/ng-include。如何让它在iframe的帮助下工作。为什么在webview中使用iframe不会调用shouldoverrideurlloading。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值