`
文章列表
若是在Firefox扩展中给某个元素创建一个右键菜单,根本没有必要通过注册事件,以及通过定位来添加一个类似于div的容器 去实现,MDN提供了右键菜单的功能 比如有一个box容器,要给它添加一个右键菜单,只需要把box的contextmenu属性 指定为 一个popup元素的id就可以实现 <box contextmenu="a_context_menu"> .... </box> <popup id="a_context_menu"> <menuitem label="编辑& ...
chrome插件提供了查找tab的api chrome.tabs.get(integer tabId, function callback) 但是出于安全的考虑,tab的属性中没有document 因此无法在扩展中直接获取某个页签页面中的页面元素 但是tab有这样一个方法 chrome.tabs.sendRequest(integer tabId, any request, function responseCallback) 他可以在扩展中可以对某一个tab进行请求,发送请求信息; 在对应的tab页面中通过 chrome.extension.onRequest.addListener(fu ...
做了一个功能,要根据chrome的当前页签tab的变化来执行一段代码 查看api,找到了下面这个方法 chrome.tabs.onUpdated.addListener(function(tabId,changeInfo,tab) { var url = tab.url; alert(url); }); 但是在程序运行的时候(在地址栏输入地址触发这个事件)发现,每次他都运行两遍里面的代码,于是猜想是不是状态变化了两次 试着alert下 changeInfo.status 果然有两次输出,一个是 loading 一个是 complete 加了一个if判断,问题解决 ...
虽然觉得Hello World有点俗,但是还是决定从他开始 新建一个chrome的hello world插件非常容易 1 建一个文件夹 任意命名 在文件夹下放一个icon.png 的小图标 创建一个名为manifest.json文件 文件内容如下: { "name": "Hello World Extension", "version": "1.0", "description": "about hello world", "browser ...
使用选择器选择特定的元素倒是容易,什么.css(),find()啊的一大堆,查找所有的子元素,却有点出乎意外的一会半会没找到方法,后来发现就是一个通配符。 查找所有的子孙元素就是find("*") >>jQuery("<div><div><div><div><div></div></div></div></div></div>").find("*").length >>4 >> ...
有这么一个地址,我要得到他的host url = "http://v.t.sina.com.cn/share/share.php?source=viviband&title=%E7%9C%8B%E5%88%B0%E4%B8%80%E5%BC%BA%E5%8A%9B%E7%9A%84%E5%9B%BE%2C%E6%B1%82%E6%AD%A4%E5%AE%8F%E5%A6%82%E4%BD%95%E5%81%9A%20-%20%E8%89%BE%E6%B3%BD%E6%8B%89%E6%96%AF%E5%9B%BD%E5%AE%B6%E5%9C%B0%E7%" 解析 ...
主要是用到了box的两种常见形式:vbox(元素垂直摆放),hbox(元素水平摆放) 滚动条 设置 style="overflow:scroll;" 属性,可以给box添加滚动条 其实只要能设置style,就说明这玩意跟css有扯不开的关系,布局什么的就靠他 子元素排列 box有一个align的属性,缺省为stretch,它表示其中的子元素会发生纵向扩展 如果给box添加了一个图片标签,这个图片又比较小的情况下,图片会拉伸扭曲变形 可以把设为 start(如果是水平的box,它就是顶端对齐。如果是竖直的box,它就是左对齐) 还可以设为以下值 center 居中 ...
tabbox是多页签的容器 tabs中的tab是用来表示页签的头部 tabpanels下的tabpannel是页签的内容 tabs中元素顺序与tabpannel元素顺序对应 引入网页在tabpanel中使用browser也可以使用iframe <tabbox id="tab_list" flex="1" > <tabs> <tab label="javaeye"/> <tab label="网易" /> ...
为了完成 在一个网页中 用查看“更多” 来 代替分页的功能,可能要截取数据库中的一段数据记录 假设现在有一个名为Teacher的model 要查询teachers表中的第10-20个Teacher sql语句的话,就是查询从10开始的下10个数据 select * from teachers limit 10,10 在Teacher中写个named_scape如下 named_scope :from_size, lambda{ |from,size| {:limit=>" #{from},#{size}"} } 使用的时候 Teacher.fr ...
大部分网站的logo图标都放在根目录的 /favicon.ico 下面 例如google的 http://www.google.com.hk/favicon.ico 读取出来如下 百度的http://www.baidu.com/favicon.ico 读取出来如下
本来打算按照复制的顺序输出,但是结果出乎预料。查了一下,hash本身就是无序的 之后又看到了日本人的一篇帖子 http://gendosu.ddo.jp/redmine/wiki/1/Hash%E3%81%AE%E9%A0%86%E5%BA%8F%E3%82%92%E5%9B%BA%E5%AE%9A%E5%8C%96 ruby1.8 以下,Hash的顺序是不固定的 h = Hash.new h[:c] = 'c' h[:b] = 'b' h[:a] = 'a' h.each_key do |k| p k end #=> :c #=> :a #=> ...
>>> typeof(type_hello) == "undefined"; true
FireFox是多页签的浏览器,写他的插件,难免要检测页签的开,关,选择等事件 这些操作在官网也有详细的说明地址如下: https://developer.mozilla.org/en/Code_snippets/Tabbed_browser 里面涉及了一个比较特殊的操作(pinned or unpinned),以前没注意过。 查了一下,固定标签页的意思,下面有篇文章介绍的是chrome的pinned操作,虽然不是FF但是应该是一样的东西,可以看看 http://www.guao.hk/posts/make-google-chrome-open-with-permently-pinned-t ...
又要Helo,World了 来自官网的简单示例 英文文档地址: https://developer.mozilla.org/en/Building_an_Extension 中文文档地址:https://developer.mozilla.org/cn/%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%89%A9%E5%B1%95 虽然是hello world级别的,但是介绍很详细,就不再复制,粘贴了了 我是在Windows XP下弄得,有一些小的细节记录一下 1、访问FF的文件目录 Win+R快捷键,直接输入  "%APPDATA%\Mozilla\ ...
小小知识点,备忘 URI去解析下面这个地址的时候,会出错,需要转一下 >> URI::parse("http://www.baidu.com/s?word=你好") URI::InvalidURIError: bad URI(is not URI?): http://www.baidu.com/s?word=你好 from /usr/local/bin/rubyee/lib/ruby/1.8/uri/common.rb:436:in `split' from /usr/local/bin/rubyee/lib/ruby/1 ...
Global site tag (gtag.js) - Google Analytics