iOS: UIWebView 中不加载图片(即浏览器常见的无图模式)

写到关于UIWebView不加载图片时,查了很多资料,

关于js,关于oc,在stackoverflow 等 并没有找到合适的答案,

最终觉得还是应该回归传统 用js代码,

stringByEvaluatingJavaScriptFromString 来调用js方法

js代码:

var div_hide_css_id = "iBrowser_div_hide_css";
// ------------------- 有图/无图 ----

function JSHandleHideImage () {
    var i = 0;
    var allDiv = document.getElementsByTagName("DIV");
    for (i; i<allDiv.length; i++) {
        var e = allDiv[i];
        var bg_image = e.style.backgroundImage;
        e.style.backgroundImage = "none";
        e.setAttribute("bg_image", bg_image);
    }

    var newCss = document.getElementById(div_hide_css_id);

    if(newCss == undefined){
        document.documentElement.innerHTML= document.documentElement.innerHTML+"<style id=‘"+div_hide_css_id+"‘>img{visibility:hidden;}</style>";
    }
    else {
        if(newCss.innerHTML == ‘‘) {

        }
        newCss.innerHTML = ‘img{visibility:hidden;}‘;
    }
}
function JSHandleShowImage () {
    var i = 0;
    var allDiv = document.getElementsByTagName("DIV");
    for (i; i<allDiv.length; i++) {
        var e = allDiv[i];
        var bg_image = e.getAttribute("bg_image");
        e.style.backgroundImage = bg_image;
    }

    var newCss = document.getElementById(div_hide_css_id);
    if(newCss){
        newCss.innerHTML = ‘img{visibility:visibility;}‘;
    }
}

oc代码

if (//无图) {
    [webView stringByEvaluatingJavaScriptFromString:@"JSHandleHideImage()"];
  }else{
    [webView stringByEvaluatingJavaScriptFromString:@"JSHandleShowImage()"];
  }
时间: 2024-11-03 18:52:46

iOS: UIWebView 中不加载图片(即浏览器常见的无图模式)的相关文章

android listview 滑动过程中不加载图片,停止时加载图片

今天闲来无事, 就测试了一下listview加载图片优化的功能, 在我们使用新浪微博的时候,细心的同学一定发现了,在滑动的过程中,图片是没有被加载的, 而是在滑动停止时,才加载图片了. 我们今天就做一个这样的效果吧. 我们先考虑两个问题: 1.在滑动停止的时候,如何获得需要加载的图片控件? 2.因为listiew在初始化完成的时候,OnScrollListener的onScrollStateChanged与onScroll并未被触发,如何初始化第一页的图片? package com.test.l

通用Adapter与ListView滚动时不加载图片的封装

本文原创,转载请注明链接:http://blog.kymjs.com/ 在Android开发中写Adapter是一件非常麻烦的事情,枯燥重复,却又不得不去做. 对于Adapter一般都继承BaseAdapter复写几个方法,getView里面使用ViewHolder存储,其实大部分的代码都是类似的.那么本文就带大家一起做一次将Adapter封装成一个通用的Adapter. 关于本文的完整Demo,可以参考KJFrameForAndroid开发框架2.2版本中封装的实例,KJAdapter和Ada

ios开发中如何选择图片的加载方式

第一种方法:imageNamed:   (经常会重复使用的图标 用这个,图片不大的) 为什么有两种方法完成同样的事情呢?imageNamed的优点在于可以缓存已经加载的图片. 这种方法会首先在系统缓存中根据指定的名字寻找图片,如果找到了就返回.如果没有在缓存中找到图片,该方法会从指定的文件中加载图片数据,并将其缓存起来,然后再把结果返回.对于同一个图像,系统只会把它Cache到内存一次,这对于图像的重复利用是非常有优势的.例如:你需要在 一个TableView里重复加载同样一个图标,那么用ima

【iOS】网络加载图片缓存与SDWebImage

加载网络图片可以说是网络应用中必备的.如果单纯的去下载图片,而不去做多线程.缓存等技术去优化,加载图片时的效果与用户体验就会很差. 一.自己实现加载图片的方法 tips: *iOS中所有网络访问都是异步的.(自己开线程去下载) *普通为模型增加UIImage属性的方法做的是内存缓存(下次启动还需要从网络重新加载), 而要做本地缓存的话,还要自己手动存储网络上下载的图片. *为了加快访问, 还需要自己去弄缓存.(内存缓存或者本地缓存) *当图片没有下载完成时,还要设置占位图片. 以下代码用NSOp

ios UITableView 异步加载图片并防止错位

UITableView 重用 UITableViewCell 并异步加载图片时会出现图片错乱的情况 对错位原因不明白的同学请参考我的另外一篇随笔:http://www.cnblogs.com/lesliefang/p/3619223.html . 当然大多数情况下可以用 SDWebImage, 这个库功能强大,封装的很好.但自己重头来写可能对问题理解的更深. SDWebImage 有点复杂,很多人也会参考一下封装出一套适合自己的类库. 基本思路如下: 1 扩展(category) UIImage

ListView设置快速滑动时不加载图片

设置ListView 快速滑动不加载要设置滑动监听OnScrollListener, 当快速滑动是设置标志位不请求网络 这个也属于listview优化的一步 设置监听器 1 package com.example.listview_01; 2 3 import android.widget.AbsListView; 4 import android.widget.BaseAdapter; 5 import android.widget.AbsListView.OnScrollListener;

android优化从网络中加载图片速度。。

从网络中加载图片主要要注意两个方面的问题: 1.内存管理:图片占的内存很大,假如图片数量多,很容易让系统抛出out of memory的异常. 同时我们也要注意不同android版本中内存管理的区别. 2.性能:图片的加载速度,和加载图片时不影响UI的流畅性 尤其是在ViewPager,GridView 和ListView等等需要在短时间内加载大量图片时,上面两个问题就更加突出了... 要解决上面这个两个问题,我们要用到的技术 1.缩减加载的图片的bitmap 可以通过实现显示图片的view的大

# selenium+chromedriver+python3 不加载图片

设置chromedriver不加载图片 from selenium import webdriver chrome_options = webdriver.ChromeOptions() prefs={"profile.managed_default_content_settings.images":2} chrome_opt.add_experimental_option("prefs":prefs) driver = webdriver.Chrome(chrom

CSS 一些基础知识(优先级、行内元素的一些属性、font-size单位) 怎样不加载图片

转载自:http://www.cnblogs.com/ctriphire/p/4159935.html CSS大小写不敏感 选择器优先级如下所示: 在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式. 作为style属性写在元素内的样式 id选择器 类选择器 标签选择器 通配符选择器 浏览器自定义或继承 同一级别 同一级别中后写的会覆盖先写的样式 规则是多个级别的组合,把选择器中规则对应做加法,比较权值,如果权值相同那就后面的覆盖前面的了,各个选择器的权值为: 内联样式表的