显示来自firefox插件的图像'网页中的数据目录
Displaying images from firefox add-on's data directory in webpage
我正在编写一个firefox插件,并有一个内容脚本可以根据我的意愿进行DOM操作,但我现在想在被操作的网页中显示插件数据目录中的一些图像(而不是在远程服务器上链接到它们),但我不知道该怎么做。
我看到附加模块和内容脚本之间的通信应该通过port.emit完成,但API规定参数必须是JSON可序列化的。
以前有人这样做过吗?我觉得我错过了什么。
尽管可以将resource:
uri硬编码到数据目录,但最好在运行时构造它。这是在@loader/options
伪模块的帮助下完成的,但前向兼容的方式是通过self
模块。如果没有其他理由使用port
机制,那么可以通过contentScriptOptions
参数将uri传递给内容脚本。您的内容脚本可以从self.options
访问它。以下代码将在mozilla.org
域的每一页插入mylogo.jpg
。
// var options = require("@loader/options");
// options.prefixURI + options.name + "/data/" works now but may change in the future
var pageMod = require("sdk/page-mod");
var self = require("sdk/self");
pageMod.PageMod({
include: "*.mozilla.org",
contentScriptOptions: {prefixDataURI: self.data.url("")},
contentScriptWhen: "ready",
contentScript: "var img = document.createElement('img');" +
"img.src = self.options.prefixDataURI + 'mylogo.jpg';" +
"document.body.appendChild(img);"
});
我在chrome.manifest中使用contentaccessible
参数的引导插件中完成了这一操作:https://gist.github.com/Noitidart/9406437
对于addon-sdk,这听起来像是你在做的,我想这样做:只需将你的图像放入你的数据文件夹中。然后使用self.data.url('img_name')
,它会给您一个resource://
路径,请在网页中使用该路径。它应该工作,资源路径没有安全问题我很确定。
相关文章:
- VBA加载网页并提取内存中的数据
- 使用JavaScript在网页之间进行数据传输
- 如何在网页之间存储数据
- 在php中的同一网页上检索所选下拉项的值,并使用其他数据将其发布到其他表单
- 自动将目录结构从网页下载到闪存驱动器
- 从脚本中获取数据,发送到网页进行显示
- 从网页获取数据的更好方法,而不是使用DOM和HTML元素
- 如何引用Firefox扩展的数据目录中的文件
- 通过远程 Web API 馈送网页数据
- 如何使用 php 抓取基于 javascript 和 ajax 的网页数据
- 显示来自firefox插件的图像'网页中的数据目录
- 将网页数据获取到只能用完网页的JavaScript
- 将网页数据保存到本地文件:如何从网页中获取数据到JSON文件,并能够将其保存到本地机器
- 从firefox扩展's数据目录播放音频
- 如何在HTML中访问数据目录
- 网页数据格式异常
- 在angularjs中解析网页的目录列表
- 如何将照片从图库复制到数据目录
- 浏览器是否容易通过隐藏在
中的iframe加载网页?数据
- 使用JavaScript获取动态网页数据