$("#imgDiv img").each(function () {
var img = $(this);
var img_src = img.attr("src") + "?" + Math.random();
var frameid = "frameimg" + Math.random(); var image = new Image();
image.src = img_src;
image.onload = function () {
window.img = '<img id="img" src=\'' + img_src + '\'/>';
window.img += '<style></style>';
window.img += '<script>window.onload=function(){';
window.img += 'parent.document.getElementById(\'' + frameid + '\').height=document.getElementById(\'img\').height+\'px\'';
window.img += 'parent.document.getElementById(\'' + frameid + '\').width=document.getElementById(\'img\').width+\'px\'';
window.img += '}<' + '/script>';
img.parent().append('<iframe width="' + image.width + 'px" height="' + image.height + 'px" id="' + frameid + '" src="javascript:parent.img" frameBorder="0" scrolling="no"></iframe>');
img.remove();
}
});

此方法每张图片会创建一个iframe,比较耗费资源,请根据实际情况确定是否使用

ps:此外还要在页面或者模板页中加上:

<meta name="referrer" content="never">

后来需要iframe中的图片最大宽度为800并居中:

$("#imgDiv img").each(function () {
var img = $(this);
var img_src = img.attr("src") + "?" + Math.random();
var frameid = "frameimg" + Math.random(); var image = new Image();
image.src = img_src;
image.onload = function () {
var ff = 1; if (image.width > 800) {
ff = 800 / image.width;
image.width = 800;
}
window.img = '<img style="max-width:800px" id="img" src=\'' + img_src + '\'/>';
window.img += '<style></style>';
window.img += '<script>window.onload=function(){';
window.img += 'parent.document.getElementById(\'' + frameid + '\').height=document.getElementById(\'img\').height+\'px\'';
window.img += 'parent.document.getElementById(\'' + frameid + '\').width=document.getElementById(\'img\').width+\'px\'';
window.img += '}<' + '/script>';
img.parent().append('<iframe style="display:block;margin:0px auto;overflow:hidden;width:' + image.width + 'px;" height="' + image.height * ff + 'px" id="' + frameid + '" src="javascript:parent.img" frameBorder="0" scrolling="no"></iframe>');
img.remove();
}
});

最新文章

  1. RunLoop 总结:RunLoop的应用场景(二)
  2. NGUI之UIRoot——屏幕的自适应分辨率的计算
  3. 20145305 《Java程序设计》第5周学习总结
  4. 常见S1信令交互流程
  5. ios开发--27个提升效率的iOS开源库推荐
  6. ASP.NET MVC4中用 BundleCollection
  7. bzoj1015星球大战
  8. 洛谷:P1036:选数
  9. MySQL 笔记整理(8.b) --事务到底是隔离还是不隔离的?
  10. vue_VueRouter 路由_路由器管理n个路由_并向路由组件传递数据_新标签路由_编程式路由导航
  11. poj 2955&quot;Brackets&quot;(区间DP)
  12. 【二分图带权匹配】Anagram @山东省第九届省赛 A
  13. eclipse启动时 failed to create the java virtual machine 解决办法
  14. Windows 8风格应用-触控输入
  15. 第二阶段冲刺——seven
  16. CentOS下多网卡绑定多IP段时导致只有一个会通的问题解决
  17. java 判断字符串IP合法性以及获取IP的数值形式
  18. MySQL5.7 主从复制配置
  19. 为什么需要设置pythonpath环境变量?
  20. iOS dyld: Library not loaded 报错解决

热门文章

  1. python模块--config
  2. 第06篇 MEF部件的生命周期(PartCreationPolicy)
  3. html页面设置一个跟随鼠标移动的DIV(jQuery实现)
  4. gradle 配置java 项目maven 依赖
  5. bzoj 4010 [HNOI2015]菜肴制作——贪心
  6. (转)Android studio 使用心得(五)—代码混淆和破解apk
  7. Oracle修改主键约束
  8. erlang学习之自定义behaviour
  9. JVM内存管理之杂谈(借此也论一论obj=null)
  10. struts全包导入问题