我的第一个Chrome插件:天气预报应用

"weatherinfo":
{
"city":"北京",
"city_en":"beijing",
"date_y":"2012年5月6日",
"date":"",
"week":"星期日",
"fchh":"08",
"cityid":"101010100",
"temp1":"31℃~19℃",
"temp2":"28℃~19℃",
"temp3":"29℃~18℃",
"temp4":"27℃~18℃",
"temp5":"23℃~14℃",
"temp6":"25℃~15℃",
"weather1":"晴转多云",
"weather2":"阴",
"weather3":"多云",
"weather4":"多云",
"weather5":"多云转阴",
"weather6":"阵雨转多云",
"img1":"0",
"img2":"1",
"img3":"2",
"img4":"99",
"img5":"1",
"img6":"99",
"img7":"1",
"img8":"99",
"img9":"1",
"img10":"2",
"img11":"3",
"img12":"1",
...
}
}
"name": "My First Extension",
"version": "1.0",
"description": "The first extension that I made",
"permissions": ["tabs", "notifications","http://m.weather.com.cn/*"],
"background_page": "bg.html",
"browser_action": {
"default_icon": "img/icon.png",
"default_popup": "popup.html"
}
}
- <html>
- <head>
- <meta charset="UTF-8">
- <title>weather</title>
- <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
- <script type="text/javascript">
- function init() {
- //$id = "101070201";//此处是大连的城市ID,可以去weather.com.cn找到对应的weather city ID
- //$url = "http://m.weather.com.cn/data/" + $id + ".html";//接口URL
- // 利用下载服务器端脚本来间接解决跨域访问问题
- $.getScript(
- 'http://61.4.185.48:81/g/',
- function(){
- $.get("http://m.weather.com.cn/data/" + id + ".html",
- function(data) {
- window.localStorage.weather = data;
- }
- );
- }
- );
- }
- window.setInterval("init()", 5*60*1000);
- </script>
- </head>
- <body>
- </body>
- </html>
- <html>
- <head>
- <meta charset="GB2312">
- <title>weather</title>
- <link rel="stylesheet" type="text/css" href="style/popup.css"/>
- <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
- <script type="text/javascript">
- function init() {
- var data = $.parseJSON(localStorage.weather);
- var weatherinfo = data["weatherinfo"];
- var datearray = ["", weatherinfo["date_y"], "第二天", "第三天", "第四天", "第五天", "第六天"];
- $("#cityname").html(weatherinfo["city"] + "城市天气预报");
- for (i = 1; i <= 6; i++) {
- var divid = "#div" + i;
- $(divid).append(datearray[i]).append("<br>");
- var imgurl = "http://m.weather.com.cn/weather_img/" + weatherinfo["img"+(i*2-1)] + ".gif";
- $(divid).append('<img src="' + imgurl + '"/>').append("<br>");
- $(divid).append(weatherinfo["temp" + i]).append("<br>");
- $(divid).append(weatherinfo["weather" + i]);
- }
- }
- </script>
- </head>
- <body onload="init()">
- <div id="cityname"></div>
- <hr></hr>
- <div id="div1" class="weatherdiv"></div>
- <div id="div2" class="weatherdiv"></div>
- <div id="div3" class="weatherdiv"></div>
- <div id="div4" class="weatherdiv"></div>
- <div id="div5" class="weatherdiv"></div>
- <div id="div6" class="weatherdiv"></div>
- </body>
- </html>
- html {
- height: 180px;
- width: 700px;
- }
- #cityname {
- text-align: center;
- font-size: 20px;
- font-weight: bold;
- margin: 5px;
- }
- .weatherdiv {
- float: left;
- width: 15%;
- margin: 5px;
- }


http://blog.csdn.net/dc_726/article/details/7547871
我的第一个Chrome插件:天气预报应用的更多相关文章
- 动手做第一个Chrome插件
Chrome插件是令人惊讶的简单,一旦你弄懂它的工作和实现原理.它是由一部分HTML,一部分Js,然后混合了一个叫做manifest.json的Json文件组合而成的整体.这意味着你可以使用你最擅长的 ...
- chrome 浏览器插件开发(一)—— 创建第一个chrome插件
最近在开发一个chrome插件,在网上找到了一些的文章,虽说按照文章可以写出对应的例子,但若要进行实际开发,发现还是有不少文章中没有的坑.下面我将结合我在开发过程中遇到的几个方面,对这些坑做一下补充. ...
- 我的项目:一个chrome插件的诞生记,名字叫jumper
选课是个问题,为了选课,便有了以下的故事. 最开始,萌生想法于2013年7月. 接着网上了解了chrome的结构知识,却发现例子是假的. 幸好有之前师兄的一个同功能插件开源,但代码写得很乱,我喜欢逻辑 ...
- 为了少点击几次,自己写了一个Chrome插件
缘由 chrome应用商店有三款二维码插件,自己一直使用的第一款.这三款插件有且只有一个功能就是生成当前页面的URL的二维码. 其实这个功能基本上满足了需要移动端开发在微信里打开页面进行调试的情况. ...
- 开发一个chrome插件:将百度搜索热点屏蔽掉!
每次百度搜索,搜索结果的右边总是出现些乱七八糟的搜索热点(推的都是些什么玩意,高校替课和我有毛关系,几个悲伤的热点我用星号顶掉了). 强迫症想把它隐藏掉,我用的是chrome浏览器,受adblock( ...
- js写一个chrome 插件
访问网站的时候,最烦的就是一些弹窗和广告.于是,就想着能不能在访问特定网站的时候,执行一段js脚本,去除页面的广告.于是乎,好像 chrome 插件可以实现. 这里,以 百度 的网站为例 新建 sim ...
- 菜鸟写的第一个chrome插件
一.新建一个文件夹,用来放插件的代码 二.首先新建配置文件manifest.json // 开发参考:http://open.chrome.360.cn/extension_dev/overview. ...
- Chrome插件(Extensions)开发攻略
本文将从个人经验出发,讲述为什么需要Chrome插件,如何开发,如何调试,到哪里找资料,会遇到怎样的问题以及如何解决等,同时给出一个个人认为的比较典型的例子——获取网页内容,和服务器交互,再把信息反馈 ...
- Chrome插件: 网站收藏
在工作中我们会收藏很多网址.以前一直都是用的chrome里面的收藏夹.后面觉得一点都不方便.看一下Chrome插件开发挺容易入手的所以自己写了一个Chrome插件. 基于:Angularjs + ...
随机推荐
- C语言检查本机公网IP并发送邮件
这是一个用来获取本机公网IP地址,并检查是否是配置里保存的IP地址,假设不是,就向指定的邮箱发送一个邮件,报告这个IP地址的一段小代码.放到开机启动中,电脑不设password的时候万一丢了,还能有个 ...
- android studio报错提示: Gradle DSL method not found: 'android() 解决方案
原文错误提示: Error:(16, 0) Gradle DSL method not found: 'Android()'Possible causes:<ul><li>Th ...
- windows 系统本地做mysql 主从同步,最后面解决主从同步库名不一致,表结构一致
原文:windows 系统本地做mysql 主从同步,最后面解决主从同步库名不一致,表结构一致 mysql主从同步的好处以及原理 之前看到很多新闻说某某的服务器奔溃,磁盘碎了,导致数据丢失 ...
- C# 使用Emit深克隆
原文:C# 使用Emit深克隆 有人问,复制一个类所有属性到另一个类有多少方法?这也就是问深克隆有多少个方法,容易想的有三个.直接复制,反射复制,序列化复制.但是性能比较快的有表达式树复制 IL复制两 ...
- Struts2——(4)OGNL与struts标签
一.OGNL Object Graphic Navigation Language 对象图导航语言 依赖于 ognl.jar包 OGNL不是Struts框架独有的,它是和框架独立的一种技术. 例如: ...
- IT企业级应?开发模式演化
原文:IT企业级应?开发模式演化 前端研发流程 传统To B类系统的研发模式 探索 & 思考设计模式库(DPL)设计语⾔设计语⾔详解基于MVVM模式的Web框架 & UI库优化后的开发 ...
- phpcms视图查询数据
{pc:get sql="SELECT * FROM phpcms WHERE id in ($id) ORDER BY listorder ASC LIMIT 0, 1--"re ...
- DELPHI高性能大容量SOCKET并发(四):粘包、分包、解包
粘包 使用TCP长连接就会引入粘包的问题,粘包是指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾.粘包可能由发送方造成,也可能由接收方造成.TCP为提 ...
- textarea随内容自动增加高度
var autoTextarea = function (elem, extra, maxHeight) { extra = extra || 0; var isFirefox = !!documen ...
- 《The Economist》的阅读
cover story(封面故事): Clean energy's dirty secret:清洁能源的肮脏幕后: 0. 词汇 respite:n. 缓解:暂缓:暂时的休息:缓期执行:也作及物动词(v ...