Category: Javascript /Jquery / Bootstrap / Web

jquery在线预览PDF文件,打开PDF文件

最主要的是使用到了一个jquery的插件jquery.media.js,使用这个插件就很容易实现了。   核心代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" dir="ltr"> <meta http-equiv="Content-Type" content="text/html;… Read More

站长如何屏蔽流氓宽带商在你的页面里面强行插入的广告代码

如果屏蔽页面上的广告?对于普通用户来说,使用AdBlock插件是最佳选择(针对火狐浏览器和谷歌浏览器用户,不知道IE浏览器容易如何处理这样的问题)。 没有人喜欢广告,但在互联网上,绝大多数网站的主要来源只有广告,如果没有广告收入,这些网站基本上都会倒闭。 为了在投放放过和不骚扰用户之间取得平衡,很多站长是很有克制在页面上投放少量的广告。但站长们的这些良苦用心往往会被一些流氓宽带商的恶意行为给 粉碎了。几乎所有的宽带商(联通宽带、电信宽带、移动宽带、长城宽带、方正宽带等)都会在用户使用它们的宽带服务浏览网页时,在这些网页的页面上强行嵌入 自己的广告服务。 以大家熟知的36kr网站为例子来说明这个问题。我使用的是方正宽带,当用户访问36kr网站的页面时,正常情况下,36kr网站的页面是没有放置广告的,更不会在页面的右下角弹出广告。但当使用方正宽带访问36kr网站时,你就会发现页面右下角有广告弹出。 (点击查看大图) 我们使用火狐浏览器的代码调试窗口,发现,在页面的尾部无端多出来很多iframe和嵌入有广告代码的div。很显然,这些代码并不是36kr放置的。它是宽带商捕捉用户浏览的网页,擅自非法的这些页面上添加自己的广告服务代码。这些代码能给宽带商带来一笔额外的收入。 (点击查看大图)   对于站长来说,这些广告很讨厌,用户会认为这些都是网站站长投放的。站长背了黑锅,而且没得到任何好处,更重要的,影响了在用户心中的形象,流失了用户。 站长应该维权,但站长是弱势群体,维权路上很难成功。那么,我们只能自己想办法,我们可以通过技术的手段,在页面代码里做一些改动,阻拦或屏蔽这些宽带商非法嵌入的代码。 我发现,宽带商非法嵌入的广告代码通常是两种形式,一种是在页面尾部加入数个iframe,iframe里的内容是宽带商承揽的广告;另外一种形式是直接嵌入div,div里嵌入一些html代码和js,最终呈现的内容还是宽带商承揽的广告。 但无论是iframe还是div,这些HTML广告代码都有相同的特征。 首先说说iframe形式,这些iframe在页面文档中的位置一定都是 body 元素的直接子元素,用CSS 选择器可以这样表示:… Read More

15个最好的HTML5前端响应式框架(2014)

注1* 之前我们比较过Foundation和Bootstrap, 这篇文章更加系统地介绍了目前比较浏览的前端响应式框架。 注2* 文中的多个框架基于SASS创建,SCSS是一种比LESS更简洁的样式表编程语言,它可以编绎成CSS,可复用CSS代码,声明变量,甚至是函数,类Ruby/Python的语法,参见: LESS vs SASS?选择哪种CSS样式编程语言? 最好的HTML5框架一般也是最流行的,使用这些框架可以极大地减少你的工作量,节约你的时间。 HTML5 有非常有用和令人意想不到的功能,但也有少数浏览器并不支持HTML5,因此我们需要基于HTML5的前端响应式框架做跨浏览器的支持。这些HTML5的 框架有很多,大多支持响应式布局,干净的代码,跨浏览器兼容,内置按钮等等这些设计师常常使用的功能。同的这些HTML5框架将帮助你更加容易地构建任 务。包括支持javascirpt和jQuery插件的HTML5的框架,我们可以实现网站的许多应用效果。 最好的响应式前端框架 在这篇文章中,我将展示我收集的15款最佳的前端响应式HTML5框架。 Foundation 顾名思义,支持HTML5设备的基础。对于懒人们来说,我们已经建立了一个新的命令行工具来加速项目开发,并增加支持Libsass,SCSS编绎加快了5倍。 skeljs… Read More

瀑布流布局浅析

简介 如果你经常网上冲浪,这样参差不齐的多栏布局,是不是很眼熟啊? 类似的布局,似乎一夜之间出现在国内外大大小小的网站上,比如 Pinterest (貌似是最早使用这种布局的网站了),Mark之,蘑菇街,点点网,以及淘宝最新上线的“哇哦” 等等,倒是很流行哈~ 在淘宝即将上线的众多产品中,你还会大量看到这样的形式呢。 这种布局适合于小数据块,每个数据块内容相近且没有侧重。通常,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。所以,我们给这样的布局起了一个形象的名字 — 瀑布流式布局。   几种实现方式 随着越来越多设计师爱用这种布局,我们作为前端,要尽可能满足视觉/交互设计师的需求。所以,我们整理了下这种布局的几种实现方式,有三种:   1) 传统多列浮动。即 蘑菇街和哇哦 采用的方式,如下图所示:… Read More

用JavaScript获取页面上被选中的文字的技巧

这里介绍的一个小技巧是如何用JavaScript获取页面上被选中的文字的方法。最关键的JavaScript API是: event.selection = window.getSelection(); 这里的selection实际上是个对象,但如果我们使用 .toString()或强行转化成字符串,我们将得到被选中的文字。 $(document).ready(function () { $(".contenttext").mouseup(function (e) { var txt; var parentOffset =… Read More

jQuery插件实现的页面功能介绍引导页效果

查看演示 下载源码 Helloweba.com之前也有相关文章介绍:《构建一个用于产品介绍的WEB应用》,相信对有需要的朋友有帮助。本文将介绍另一款基于jQuery的页面引导页插件:pagewalkthrough.js,来看如何使用它。 HTML 首先记得加载所需的css文件和jQuery库文件,以及pagewalkthrough插件。 <!-- CSS --> <link type="text/css" rel="stylesheet" href="css/jquery.pagewalkthrough.css" /> <!-- jQuery --> <script type="text/javascript"… Read More

HTML5+CSS3实现的响应式垂直时间轴

网页时间轴一般用于展示以时间为主线的事件,如企业网站常见的公司发展历程等。本文将给大家介绍一款基于HTML5和CSS3的漂亮的垂直时间轴,它可以响应页面布局,适用于HTML5开发的PC和移动手机WEB应用。 查看演示 下载源码 HTML 我们使用了HTML5标签<section>,时间轴中所有的内容包括标题、简介、时间和图像都放在.cd-timeline- block的DIV中,多个DIV形成一个序列,并把这些DIV放在<section>中。注意要看到本例演示效果,需要你的浏览器支持 HTML5和CSS3。 <section id="cd-timeline" class="cd-container"> <div class="cd-timeline-block"> <div class="cd-timeline-img%20cd-picture"> <img src="img/cd-icon-picture.svg" alt="Picture"> </div>… Read More

js动画框架设计

题记: 当你不再依赖JQuery时,当你已经厌倦了引入js类库实现一些动画效果的方式,当你想实现一个简单而实用的动画框架……下面介 绍下愚人设计的动画框架:支持动画缓动算法函数,如Linear、Cubic、Back、Bounce,支持改变高度,宽度,透明度,边框,外边距的基本 动画,支持动画的回调函数,如开始、暂停、完成的callback等。     Section One   游戏动画,Flash动画里一个比较重要的概念是帧频,即每秒播放多少帧动画,一般动画是30帧/秒,单位为fps(frames per second)。   对于匀速运动来说:如果一个动画的持续时间duration为500ms,帧频frequence为30fps,则总帧数frames为(500/1000)*30 = 15,即该动画过程有15个“画面”,每走一帧,都计算出一个画面:画面当前位置 = 开始位置… Read More

深入理解JavaScript系列:根本没有“JSON对象”这回事!

前言 写这篇文章的目的是经常看到开发人员说:把字符串转化为JSON对象,把JSON对象转化成字符串等类似的话题,所以把之前收藏的一篇老外的文章整理翻译了一下,供大家讨论,如有错误,请大家指出,多谢。 正文 本文的主题是基于ECMAScript262-3来写的,2011年的262-5新规范增加了JSON对象,和我们平时所说的JSON有关系,但是不是同一个东西,文章最后一节会讲到新增加的JSON对象。 英文原文:http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/ 我想给大家澄清一下一个非常普遍的误解,我认为很多JavaScript开发人员都错误地把JavaScript对象字面量(Object Literals)称为JSON对象(JSON Objects),因为他的语法和JSON规范里描述的一样,但是该规范里也明确地说了JSON只是一个数据交换语言,只有我们将之用在string上下文的时候它才叫JSON。 序列化与反序列化 2个程序(或服务器、语言等)需要交互通信的时候,他们倾向于使用string字符串因为string在很多语言里解析的方式都差不多。复杂的数据 结构经常需要用到,并且通过各种各样的中括号{},小括号(),叫括号<>和空格来组成,这个字符串仅仅是按照要求规范好的字符。 为此,我们为了描述这些复杂的数据结构作为一个string字符串,制定了标准的规则和语法。JSON只是其中一种语法,它可以在string上下文里描述对象,数组,字符串,数字,布尔型和null,然后通过程序间传输,并且反序列化成所需要的格式。YAML和XML(甚至request params)也是流行的数据交换格式,但是,我们喜欢JSON,谁叫我们是JavaScript开发人员呢! 字面量 引用Mozilla Developer Center里的几句话,供大家参考: 他们是固定的值,不是变量,让你从“字面上”理解脚本。… Read More

深入理解JavaScript系列:闭包(Closures)

介绍 本章我们将介绍在JavaScript里大家经常来讨论的话题 —— 闭包(closure)。闭包其实大家都已经谈烂了。尽管如此,这里还是要试着从理论角度来讨论下闭包,看看ECMAScript中的闭包内部究竟是如何工作的。 正如在前面的文章中提到的,这些文章都是系列文章,相互之间都是有关联的。因此,为了更好的理解本文要介绍的内容,建议先去阅读第14章作用域链和第12章变量对象。 英文原文:http://dmitrysoshnikov.com/ecmascript/chapter-6-closures/ 概论 在直接讨论ECMAScript闭包之前,还是有必要来看一下函数式编程中一些基本定义。 众所周知,在函数式语言中(ECMAScript也支持这种风格),函数即是数据。就比方说,函数可以赋值给变量,可以当参数传递给其他函数,还可以从函数里返回等等。这类函数有特殊的名字和结构。 定义 A functional argument (“Funarg”) — is an argument… Read More

网站优化:浏览器缓存控制简介及配置策略

每次访问网页,通常浏览器会从服务器下载所 需的资源,例如 HTML 文档、图片、CSS、JavaScript,甚至包括字体文件等。这里面的许多文件(例如图片)都是很少变动的,如果每次都要从服务器重新下载,会不必要 地增加网页载入时间,同时也会对服务器造成一定压力。通过合理配置缓存策略,可令浏览器以某种方式把这些静态的文件缓存起来,下次请求同一资源时,直接使 用本地存储的副本,而不是从服务器重新下载。 启用缓存至少有两点显而易见的好处: 减少页面加载时间 减少服务器负载 浏览器是否使用缓存、缓存多久,是由服务器控制的。准确来说,当浏览器请求一个网页(或者其他资源)时,服务器发回的响应的「响应头」部分的某些字段指明了有关缓存的关键信息。 Cache-Control Cache-ControlHTTP 响应头是 HTTP 1.1 协议新增的指令,每个资源都可以通过设定 Cache-Control 来建立缓存策略。通常,可为它指定一个max-age,表示缓存的最长时间,单位为秒。例如,若设定Cache-Control:… Read More