【发布时间】:2015-07-09 00:18:42
【问题描述】:
每次加载首页(不是页面内的 iframe)时,我都想修改网页。据我估计,我需要使用 page-mod。但就我而言,它不起作用。
1) 创建文件“lib/main.js”,内容如下
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
include: "*",
contentScriptWhen: 'end',
attachTo: ["top", "existing"],
contentScript: 'window.alert("Page matches ruleset");'
});
2) 创建了另一个文件“install.rdf”,内容如下
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>{a2a7da09-1be1-4e24-8324-5560048a3ead}</em:id>
<em:name>Demo</em:name>
<em:version>1.0.0</em:version>
<em:description>Demo for Firefox</em:description>
<em:type>2</em:type>
<em:creator>sam</em:creator>
<em:targetApplication>
<!-- Firefox -->
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>3.0</em:minVersion>
<em:maxVersion>24.0</em:maxVersion>
</Description>
</em:targetApplication>
<em:targetApplication>
<!-- SeaMonkey -->
<Description>
<em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id>
<em:minVersion>2.0</em:minVersion>
<em:maxVersion>2.21</em:maxVersion>
</Description>
</em:targetApplication>
</Description>
</RDF>
有人告诉我我做错了什么。 如果可能,请提供任何基本的工作示例。
谢谢大家
【问题讨论】:
-
你有什么错误或什么吗?如果您使用的是附加 SDK,则不需要创建自己的 install.rdf,这是在您运行 cfx xpi 以创建 xpi 文件时为您创建的。如有疑问,请按照 SDK 文档中提供的介绍和教程进行操作:addons.mozilla.org/en-US/developers/docs/sdk/latest
-
@canuckistani 谢谢。您的评论帮助我的扩展开始工作。现在有最后一个问题。如何引用带有扩展名的图像?
-
数据文件夹中的任何图片都可以通过相对路径从同一数据文件夹中的scripts/css/html中引用。
-
完成了。我还想注入 iframe。虽然它正在被注入并正在从互联网加载 URI,但无法从本地扩展中加载 uri。
-
这是一个已知错误,由于平台安全限制,iframe 无法从数据中加载。
标签: firefox firefox-addon firefox-addon-sdk