小编Wla*_*ant的帖子

如何"破解"Thunderbird Lightning扩展以完全着色类别

(注意:虽然我不完全确定在SuperUser上是否会更好地询问这个问题,但我猜你可能不得不在使用css设置的xpi/jar文件中乱七八糟,应该使它适合SO.)

Mozilla Thunderbird的日历扩展,Lightning,将针对不同的日历使用不同的颜色,并且只使用窄的垂直条作为类别颜色:(浅蓝色作为日历颜色,红色作为类别颜色)

在此输入图像描述

我想知道的是我如何改变/"黑客"css样式 - 肯定 - 必须与此相关联,埋在插件目录中的某处,以便在上面的示例中,事件将是完全的红色的.

谁知道如何实现这一目标?

css thunderbird thunderbird-lightning thunderbird-addon

8
推荐指数
3
解决办法
1万
查看次数

使用Firefox Add-on SDK进行面板定位

我正在尝试使用新SDK将我的面板定位在附加组件中.

我看到文档只显示了一种控制面板位置的方法,那就是通过传递一个锚点show():

秀(锚)

显示面板.[锚:手柄]

页面中DOM节点的句柄,面板应该显示为锚定的页面.如果没有给出,面板将在最近的浏览器窗口中居中.请注意,目前无法仅使用高级API以这种方式锚定面板.

理想情况下,我希望锚点是当单击该窗口小部件时面板显示为锚定的窗口小部件,但窗口小部件不是,DOM node in a page所以我猜不是......

我可以解决这个问题,但我甚至找不到如何将面板锚定到DOM节点的工作示例.当我传回一个DOM节点在contentScript经过port是这样的:

LIB/main.js

  var scraper = pageMod.PageMod({
    include: ['*'],
    contentScriptWhen: 'ready',
    contentScriptFile: [data.url('jquery-1.6.2.min.js'), data.url('scraper.js')],
    onAttach: function(worker){
      worker.port.on('pageLoaded', function(page){
        widget.panel.show(page.anchor);
      }); 
    } 
Run Code Online (Sandbox Code Playgroud)

数据/ scraper.js

$('body').append('
  <div id="anchor-to-me" style="position:fixed; bottom: 0; right: 0;">.</div>
');

var anchor = $('#anchor-to-me').get();
self.port.emit('pageLoaded', { anchor : anchor  }); 
Run Code Online (Sandbox Code Playgroud)

我收到以下控制台错误:

error: An exception occurred.
Traceback (most recent call last):
  File "resource://jid1-wuvxefqtmptsnw-at-jetpack-addon-kit-lib/panel.js", line 147, in show
    let document = …
Run Code Online (Sandbox Code Playgroud)

javascript firefox-addon firefox-addon-sdk

8
推荐指数
1
解决办法
2915
查看次数

使用terminal/bash更改目录中多个文件的文件扩展名?

我正在开发一个简单的launchdaemon,它将文件从一个目录复制到另一个目录.我已经把文件转移得很好了.

我只是希望目录中的文件是.mp3而不是.dat

一些文件看起来像这样:

6546785.8786.dat
3678685.9834.dat
4658679.4375.dat

我希望它们看起来像这样:

6546785.8786.mp3
3678685.9834.mp3
4658679.4375.mp3

这是我在bash脚本末尾重命名文件扩展名的内容.

cd $mp3_dir
mv *.dat *.mp3
exit 0
Run Code Online (Sandbox Code Playgroud)

问题是该文件是*.mp3而不是6546785.8786.mp3

当另一个6546785.8786.dat文件导入$ mp3_dir时,*.mp3将被新的.mp3覆盖

我需要重命名只是中的.dat文件扩展名.MP3并保持文件名.

想法?建议?

iphone bash terminal file-extension launch-daemon

8
推荐指数
2
解决办法
1万
查看次数

Firefox Addons SDK - 如何从内容脚本访问简单存储?

我正在使用新的FireFox Addons SDK来开发扩展.我有一个小部件,附有一个面板.该面板用于控制首选项,因此我需要从面板的内容脚本中访问simple-storage api.我知道您无法直接访问API,因此我尝试使用消息传递.继承人我得到了什么:

exports.main = function() {
    var panel = require('panel');
    var ss = require('simple-storage');

    var prefPanel = panel.Panel({
        contentURL: self.data.url('prefPanel.html'),
        contentScriptFile: self.data.url('prefPanel.js'),
        contentScriptWhen: 'ready',
        onMessage: function(message) {
            switch(message.method) {
                case 'setValue':
                    ss.storage[message.key] = message.value;
            }
        },
    });

    prefPanel.postMessage(ss.storage);


    require('widget').Widget({
        id: 'ml-pref-button',
        content: 'ML',
        width: 30,
        panel: prefPanel,
    })
}
Run Code Online (Sandbox Code Playgroud)

在prefPanel.js我有:

self.on('message', function(storage) {

    storage.setValue = function(key, value) {
        this[key] = value;
        self.postMessage({
            method: 'setValue',
            'key': key,
            'value': value,
        });
    }

    // Do some stuff, using storage object

}); …
Run Code Online (Sandbox Code Playgroud)

javascript firefox firefox-addon firefox-addon-sdk

8
推荐指数
1
解决办法
2790
查看次数

Chrome扩展程序简单弹出窗口不会保留在最后状态

现在我相信你们中有些人听说过拜伦核电站发生的事件(我碰巧住在附近)以及美国和加拿大发生的大规模地震.(顺便说一句:我找到了这个扩展,你可以监视世界各地的地震)

无论如何,随着所有这些问题的继续,我想更好地观察核电站,我已经知道了辐射网络所以我制作了一个名为辐射图的镀铬扩展,它由辐射网络驱动(尽管我与之无关)辐射网络)

我做到这一点不仅仅是我自己,但每个人都可以监控美国,日本,南美和欧洲的辐射水平.(我知道我没有做太多工作,但你看到了原因)

但是我有一个问题,我无法弄清楚.当我打开弹出窗口时,我正在查看日本的辐射水平,当我关闭弹出窗口时,它会回显示美国的辐射水平.我如何做到这一点让它留在用户离开的地方,比如我的案例日本在这个例子中?(我试过内容脚本,但是css和jquery没有加载)

表现

{
    "name": "Radiation Map",
    "version": "1.0.1",
    "description": "See what radiation levels are anywhere in the United States, South America, Japan, and Europe! Updated in real time every minute.",

    "browser_action": {
        "default_icon": "images/logo.png",
        "default_title": "Radiation Map",
        "popup": "index.html"
    },

    "icons": {
        "48": "images/48x48.png",
        "128": "images/128x128.png",
        "256": "images/logo.png"
    }
}
Run Code Online (Sandbox Code Playgroud)

弹出

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/rmd.js"></script>
</head>
<body id="radiationmap">
    <div …
Run Code Online (Sandbox Code Playgroud)

google-chrome popup google-chrome-extension

8
推荐指数
1
解决办法
3006
查看次数

Chrome扩展程序支持将图像复制到剪贴板

我在护目镜中搜索并没有找到任何答案.新的剪贴板API支持使用复制图像到剪贴板document.exec command.如果是,我如何将图像data url作为图像复制到剪贴板?

我是网页截图扩展的开发者,我搜索了一种将图像复制到剪贴板的方法.我还搜索了使用特定软件打开图像的方法.

javascript google-chrome google-chrome-extension

8
推荐指数
1
解决办法
2422
查看次数

用于查看消息的ThunderBird事件

我想在Thunderbird的主窗口中显示之前修改一条消息.我似乎无法找到1)打开/查看新消息时将触发的事件2)修改消息显示内容的方法.

我相信我需要chrome://messenger/content/messenger.xul叠加层,并且可以使用如下的监听器:

window.addEventListener( "SOME MAGIC HERE", modify_message_handler, true );
Run Code Online (Sandbox Code Playgroud)

但是那个事件是什么,我不确定,还有我会得到什么对象(消息标题?)以及我可以轻松修改显示的内容.

所以问题是:

  • 我有正确的叠加层吗?
  • 可以用事件来完成吗?如果没有,怎么样?
  • 如果是这样,需要什么事件以及它通过了什么对象?

javascript thunderbird thunderbird-addon

8
推荐指数
2
解决办法
1972
查看次数

我可以通过javascript在mozilla中更改:config吗?

你好我正在开发一个HTML 5游戏,在Chrome中动画看起来很棒,但在firefox中没有!我在互联网上搜索,我找到了一个解决方案,我需要更改about:config中的一些设置,它们是:

webgl.force-enabled=true
webgl.msaa-force=true
layers.acceleration.force-enabled=true
gfx.direct2d.force-enabled=true
stagefright.force-enabled=true
Run Code Online (Sandbox Code Playgroud)

我手动更改了这些设置,动画在Firefox中看起来很棒.现在我的问题是如何使用javascript做到这一点?可能吗?

javascript firefox html5 animation canvas

8
推荐指数
1
解决办法
3088
查看次数

修改和添加扩展到Firefox的问题

我从firefox下载了一个扩展名,将xpi重命名为zip并解压缩.然后使用"zip"重新打包相同的文件夹来创建xpi(听起来很傻,但我打算对代码进行修改,虽然我还没有在这种情况下完成),但当我将该扩展名添加回firefox时,firefox正在报告扩展名可能已损坏.我在Mac OS X中运行firefox.

问题是什么?

firefox firefox-addon

7
推荐指数
1
解决办法
6782
查看次数

chrome.extension.onMessage未定义

我有一个简单的插件,只是做这样的事情:

chrome.extension.onMessage.addListener(function(msg, _, sendResponse) {
    log("Got message from background page: " + msg);
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我的面板加载时,显示以下错误:

TypeError: Cannot call method 'addListener' of undefined
Run Code Online (Sandbox Code Playgroud)

并根据我的测试chrome.extension.onMessageundefined

根据此页面http://code.google.com/chrome/extensions/messaging.html我应该能够从我的页面访问此chrome API,因此它必须是我在这里缺少的小东西......

api google-chrome google-chrome-extension

7
推荐指数
1
解决办法
3344
查看次数