gpt4 book ai didi

javascript - 从 firefox 插件注入(inject)一行 JavaScript

转载 作者:行者123 更新时间:2023-11-28 09:09:45 24 4
gpt4 key购买 nike

我对 FF 扩展创建完全陌生,所以我会比较具体。

例如,当我在 Firefox 的内置沙箱中运行 JS 命令时,它工作得很好,所以我想制作一个 FF 插件,单击时将执行相同的 JS 命令。该命令基本上在网页中运行:

javascript:$('.plus').click();

我想它不必像这样工作:

var Widget = require("widget").Widget;
var tabs = require('tabs');

exports.main = function() {

new Widget({
id: "user-widget-1",
label: "My Mozilla Widget",
contentURL: "http://www.mozilla.org/favicon.ico",
onClick: function(event) {
javascript:$('.plus').click();
}
});

};

谢谢。

最佳答案

$(.plus) 是 jQuery 语法,因此您可能希望将 jQuery 作为内容脚本加载到您的小部件中。并且您还希望将代码作为内容脚本运行,例如:

var data = require("sdk/self").data;

new Widget({
id: "user-widget-1",
label: "My Mozilla Widget",
contentURL: "http://example.com/foo.html",
contentScriptFile: [data.url("jquery.js"), data.url("myScript.js")]
});

并且 data/myScript.js 类似于:

$(document).ready(function() {
$('.plus').click()
});

如果您不希望在文档加载时发生点击,而是希望在扩展程序中发生特定事件时发生点击,您可能需要查看 communicating with content scripts 。我还建议阅读 general overview of content scripts .

关于javascript - 从 firefox 插件注入(inject)一行 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16475821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com