浏览器可以查看元素,找到那些不需要显示的元素直接隐藏掉。
JS代码:
//根据class名称获取div数组
然后在WebViewClient的onPageFinished判断url,加载我们的js代码。
然后你的设置webview即可。
缺点:网页加载进行中可以看到完整的网页在加载(包括那些不需要显示的元素),加载完成后才显示出隐藏后的效果。
你可以考虑在onPageStarted做些手脚(如显示个转圈圈的界面或者其他)。
JS代码:
//根据class名称获取div数组
function getClass(parent,sClass)
{
var aEle=parent.getElementsByTagName('div');
var aResult=[];
var i=0;
for(i<0;i<aEle.length;i++)
{
if(aEle[i].className==sClass)
{
aResult.push(aEle[i]);
}
};
return aResult;
}
function hideOther()
{
getClass(document,'nav-sides')[0].style.display='none';
getClass(document,'side-bar')[0].style.display='none';
getClass(document,'area-main')[0].style.display='none';
getClass(document,'home-foot')[0].style.display='none';
getClass(document,'enter')[0].style.display='none';
getClass(document,'crumb')[0].style.display='none';
getClass(document,'date-tab clearfix')[0].style.display='none';
document.getElementById('id_sidebar').style.display='none';
document.getElementById('top_nav').style.display='none';
document.getElementById('fix-personal').style.display='none';
document.getElementById('waterlogo').style.display='none';
getClass(document,'wrap')[0].style.minWidth=0;
getClass(document,'game')[0].style.paddingTop=0;
}
然后在WebViewClient的onPageFinished判断url,加载我们的js代码。
然后你的设置webview即可。
@Override
public void onPageFinished(WebView view, String url) {
if(url!=null && url.contains("/p/resource/weapon/iProductID/39")){
String fun="javascript:function getClass(parent,sClass) { var aEle=parent.getElementsByTagName('div'); var aResult=[]; var i=0; for(i<0;i<aEle.length;i++) { if(aEle[i].className==sClass) { aResult.push(aEle[i]); } }; return aResult; } ";
view.loadUrl(fun);
String fun2="javascript:function hideOther() {getClass(document,'nav-sides')[0].style.display='none'; getClass(document,'side-bar')[0].style.display='none'; getClass(document,'area-main')[0].style.display='none'; getClass(document,'home-foot')[0].style.display='none'; getClass(document,'enter')[0].style.display='none'; getClass(document,'crumb')[0].style.display='none';getClass(document,'date-tab clearfix')[0].style.display='none'; document.getElementById('id_sidebar').style.display='none'; document.getElementById('top_nav').style.display='none'; document.getElementById('fix-personal').style.display='none'; document.getElementById('waterlogo').style.display='none';getClass(document,'wrap')[0].style.minWidth=0;getClass(document,'game')[0].style.paddingTop=0;}";
view.loadUrl(fun2);
view.loadUrl("javascript:hideOther();");
}
super.onPageFinished(view, url);
}
缺点:网页加载进行中可以看到完整的网页在加载(包括那些不需要显示的元素),加载完成后才显示出隐藏后的效果。
你可以考虑在onPageStarted做些手脚(如显示个转圈圈的界面或者其他)。