我的扩展非常简单:
的manifest.json
{
"name": "historyCleaner",
"version": "0.1.1",
"manifest_version": 1,
"description": "This is my first Chrome extension",
"background": {
"scripts": ["cleaner.js"]
},
"permissions": [
"history"
]
}
Run Code Online (Sandbox Code Playgroud)
cleaner.js
chrome.history.onVisited.addListener(function(HistoryItem result) {
console.log("it works!");
alert("it works!");
});
Run Code Online (Sandbox Code Playgroud)
我已经将它加载到谷歌浏览器中,它已打开并且......它不起作用.它不会在控制台中记录任何内容,它不会提醒任何事情,更糟糕的是,我在开发人员工具"Scripts"选项卡中找不到它.我怎么才能找到它无效的原因?
//编辑
我把manifest.json改成了这个:
{
"name": "historyCleaner",
"version": "0.1.5",
"manifest_version": 1,
"description": "This is my first Chrome extension",
"background_page": "background.html",
"permissions": [
"history",
"background"
]
}
Run Code Online (Sandbox Code Playgroud)
并在background.html中嵌入了JavaScript
我正在写一个使用Hpricot的爬虫.它从某个网页下载一个字符串列表,然后我尝试将其写入该文件.编码有问题:
"\xC3" from ASCII-8BIT to UTF-8
Run Code Online (Sandbox Code Playgroud)
我有在网页上呈现并以这种方式打印的项目:
Développement
Run Code Online (Sandbox Code Playgroud)
的str.encoding回报UTF-8,所以force_encoding('UTF-8')没有帮助.我怎么能把它转换成可读的UTF-8?
我要写一堆浏览器扩展(每个流行的浏览器都有相同的功能).我希望,一些代码将被共享,但我还不确定.当然,一些扩展将使用本机API.我对TDD/BDD没有多少经验,我认为现在是开始从这个项目中获取这些想法的好时机.
问题是,我不知道如何处理它.我应该为每个浏览器编写不同的测试吗?我应该走多远这些测试?这些扩展将非常简单 - 本地存储中的一些数据,刷新页面和通过Web套接字进行监听.
我的观察为什么对我来说很难 - 因为有很多行为,而不是那么多模型,它们也依赖于平台.
目前我有User模型,它user.rb作为ActiveAdmin的新资源注册.生成的页面显示具有范围(all/ journalists/ startup_employees)的所有用户.现在我想创建另一个页面相同的资源,和相同的范围,但应该只记录与waiting字段设置为true(和以前的页面应该只有这与显示器:waiting => false).我怎么能这样做?我知道我可以用过滤器做到这一点,但我需要两个单独的页面,菜单中有两个链接.
//解决方案
它甚至比建议更容易(谢谢你们!):
ActiveAdmin.register User, :as => 'Waitlist User' do
menu :label => "Waitlist"
controller do
def scoped_collection
User.where(:waitlist => true)
end
end
# code
scope :all
scope :journalists
scope :startup_employees
end
Run Code Online (Sandbox Code Playgroud)
ActiveAdmin.register User do
controller do
def scoped_collection
User.where(:waitlist => false)
end
end
# code
scope :all
scope :journalists
scope :startup_employees
end
Run Code Online (Sandbox Code Playgroud) 我想在一些修改之后将从字符串创建的html元素转换回字符串.但我得到一个空字符串.
$('<iframe width="854" height="480" src="http://www.youtube.com/embed/gYKqrjq5IjU?feature=oembed" frameborder="0" allowfullscreen></iframe>').html();
Run Code Online (Sandbox Code Playgroud)
我怎么能以另一种方式做到这一点?
我有上触发功能的元件ng-mousedown和ng-mouseup.但是,它在触摸屏上不起作用,是否有任何指令ng-touchstart和ng-touchend?
这是我在node.js应用程序中需要的:
这是我发现的:
你有什么建议?我需要一些可靠,易于安装和尽可能跨系统的东西.
//编辑
自11月6日起,Appjs拥有基本的托盘图标支持.
我有一些项目,我用node main.js/ make test等运行它.我需要的是从脚本中获取此目录.不仅来自main.js,而且来自任何子模块.我尝试使用path插件__directory,但是我得到了当前文件的路径(例如子模块).我也尝试过require('path').dirname(require.main.filename),但是当我运行时,make test我得到的是mocha dirname而不是我的项目目录.解决这个问题的最简单方法是什么?
我有canvas元素,我想缩小它,但不改变它的js逻辑.js中的绘图空间应始终为600x300px,即使它以HTML格式显示为300x150px.我知道,我可以用静态分辨率调整图像大小,但我可以用画布做同样的事情吗?
我知道我可以使用保存位置tput sc,但我怎样才能读取变量的位置?我需要行数.我不想使用curses/ncurses.
javascript ×6
node.js ×2
activeadmin ×1
angularjs ×1
background ×1
bdd ×1
canvas ×1
cursor ×1
debugging ×1
directory ×1
dump ×1
encoding ×1
file ×1
html ×1
html5 ×1
icons ×1
jquery ×1
linux ×1
mousedown ×1
mouseup ×1
path ×1
position ×1
pwd ×1
resize ×1
resolution ×1
resources ×1
ruby ×1
scaling ×1
scope ×1
system-tray ×1
tdd ×1
terminal ×1
testing ×1
touchstart ×1
utf-8 ×1