基本知识 1、插件文件结构 1.1、manifest.json 每一个扩展、可安装的WebApp、皮肤,都有一个JSON格式的manifest文件,里面存放重要的插件相关信息。 一个最基本的配置例子: {"name": "browser action demo","version": "1.0","permissions": ["tabs", "http://*/*", "https://*/*"],"browser_action": {"default_title": "开关灯","default_icon": "icon.png","default_popup": "popup.html"},"background": {"page": "background...
和浏览器的交互 1、书签 使用chrome.bookmarks模块来创建、组织和管理书签。也可参看 Override Pages,来创建一个可定制的书签管理器页面。 1.1、manifest.json 中配置{"name": "My extension",..."permissions": ["bookmarks"],... } 对象和属性: 签是按照树状结构组织的,每个节点都是一个书签或者一组节点(每个书签夹可包含多个节点)。每个节点都对应一个BookmarkTreeNode 对象。 可以通过 chrome.bookmarks API来使用Bookma...
我们或多或少都使用过各式各样的富文本编辑器,其中有一个很方便功能,复制一张图片然后粘贴进文本框,这张图片就被上传了,那么这个方便的功能是如何实现的呢? 原理分析 提取操作:复制=>粘贴=>上传 在这个操作过程中,我们需要做的就是:监听粘贴事件=>获取剪贴板里的内容=>发请求上传 为方便理解下文,需要先明白几点: 我们只能上传网页图(在网页上右键图片,然后复制)和截图(截图工具截的图片,eg:qq截图),不能粘贴上传系统...
最近在做博客的目录功能,发现一个在现代浏览器间的一个bug,或是称之为差异,即页面滚动值(scrollTop)的获取与设定。 在此之前先说一下关于页面元素的坐标获取,这张图的经典性不必再提。 实现滚动到某位置功能 一个最主要的功能就是实现点击标题页面滚动,因为我们要滚动到页面某个标题,所以需要计算出滚动这个元素的具体绝对位置,而常用的offsetTop是获取到当前元素与之最近的决定其定位的元素的偏移量,此处不适用。 此处应使...
本文实例讲述了js实现iframe框架取值的方法。分享给大家供大家参考,具体如下: 为啥世上会有这么多不同的浏览器?每次遇到js/css的浏览器兼容性问题,总是要发出这样的感叹,真希望这些个浏览器公司全部倒下,然后只留下一家(显然这是一个不可能实现的美好愿望),言归正传,看代码吧: iframe框架内页: <html> <head><title>框架内页</title> </head> <body><div><input id="txt1" name="txt1" type="text" value="测试" /></div>...
一、Console API Console.assert() 判断第一个参数是否为真,false的话抛出异常并且在console输出相应信息。 Console.count() 以参数为标识记录调用的次数,调用时在console打印标识以及调用次数。 Console.debug() console.log方法的别称,使用方法可以参考Console.log() Console.dir() 打印一条以三角形符号开头的语句,可以点击三角展开查看对象的属性。 Console.error() 打印一条错误信息,使用方法可以参考 string substituti...
本文实例讲述了js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器。分享给大家供大家参考。具体实现方法如下: /** 音乐播放器 * @param obj 播放器id * @param file 音频文件 mp3: ogg: * @param loop 是否循环 */ function audioplayer(id, file, loop){ var audioplayer = document.getElementById(id); if(audioplayer!=null){ document.body.removeChild(audioplayer); } if(typeof(file)!=undefined){ if(navi...
今天给大家分享一段设为首页、收藏本站及保存到桌面的js代码,非常实用。代码如下: <script type="text/javascript"> //设为首页 function SetHome(obj,url){ try{ obj.style.behavior=url(#default#homepage); obj.setHomePage(url); }catch(e){ if(window.netscape){ try{ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); ...
你是怎么调试 JavaScript 程序的?最原始的方法是用 alert() 在页面上打印内容,稍微改进一点的方法是用 console.log() 在 JavaScript 控制台上输出内容。嗯~,用这两种土办法确实解决了很多小型 JavaScript 脚本的调试问题。不过放着 Chrome 中功能越发强大的开发者工具不用实在太可惜了。本文主要介绍其中的 JavaScript断点设置和调试功能,也就是其中的 Sources Panel(以前叫 Scripts)。如果你精通 Eclipse 中的各种 Java 调试...
javascript实现客户端file选择文件后img标签加载客户端图片实现图片预览。 测试浏览器:firefox6,firefox12,chrome 25.0.1364.172 m,IE6-IE10 都兼容 safari5.0.4不支持FileReader和file.files.item(0).getAsDataURL方法,暂时无解,需要上传到服务器后返回临时文件名用img标签加载,不知道后续的safari版本是否支持FileReader对象。 IE10下效果:IE9下效果:实现源代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi...
一般情况下,我们获取年份的时候都是通过下面的代码: var now = new Date(); var initYear = now.getYear(); 以上代码在IE中initYear是对的,但是ff以及chrome下不兼容,换成 var initYear = now.getFullYear();IE、FireFox、Chrome下均可行 JS中getYear()和getFullYear()区别: js中得到当前年份做法是var dayObj=new Date(); dayObj.getYear()来得到年份,我前面写过这样会出现浏览器的兼容性的问题,就是在IE中能得到我们想要...
因为ie10-ie11的版本问题,不再支持document.all判断,所以ie判断函数要重新写了 function isIE() { //ie?if (!!window.ActiveXObject || "ActiveXObject" in window)return true;elsereturn false;}第一种,只区分浏览器,不考虑版本 代码如下: function myBrowser(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = userAgent.indexOf("Opera") > -1; if (isOpera) { r...
代码如下:<script> //得到页面高度 var yScroll = (document.documentElement.scrollHeight >document.documentElement.clientHeight) ? document.documentElement.scrollHeight : document.documentElement.clientHeight; alert(yScroll) //得到页面宽度 var xScroll=(document.documentElement.scrollWidth>document.documentElement.clientWidth) ? document.documentElement.scrollWidth : document.documentElement.scrollWid...
实现代码: 代码如下:<script>function addFav(){ if(document.all){ window.external.addFavorite(http://jb51.net,FREE Web Directory); }else if(window.sidebar){ window.sidebar.addPanel(FREE Web Directory, http://jb51.net,); }}</script><a href="http://jb51.net" title="FREE Web Directory" rel="sidebar" onclick="addFav();">加入收藏</a></div> javascript 加入收藏夹,需要注意一个细节的地方,如果...
代码如下:(function() { if (window.FileUpload) { return; } window.FileUpload = function (id, url) { this.id = id; this.autoUpload = true; this.url = url; this.maxSize = null; this.extensions = null; this.dropId = null; }; window.FileUpload.prototype.init = function() { var obj = this; $(# + this.id).change(function () { if (obj.autoUpload) { obj.upload(); } }); if (this.supportsFormData()) { if (th...