jquery - 如何在 Firefox 插件中的脚本之间移动 jQuery 对象?

标签 jquery object firefox-addon

我的插件和脚本中有一个带有脚本和 jQuery 的面板,该面板运行到页面中。 如何将对象从面板复制到页面?

main.js

var tabs = require("sdk/tabs");
var self = require("sdk/self");
var button = require("sdk/ui/button/action").ActionButton({
    id: "show-panel",
    label: "Show Panel",
    icon: {
        "16": "./icon-16.png",
        "32": "./icon-32.png",
        "64": "./icon-64.png"
    },
    onClick: handleClick
});
var panel = require("sdk/panel").Panel({
    contentURL: self.data.url("page.html"),
    contentScriptFile: [self.data.url("jquery-2.1.1.min.js"), self.data.url("panel-script.js")],
    position: button
});

function handleClick() {
    panel.show();
    var worker = tabs.activeTab.attach({
        contentScriptFile: [self.data.url("jquery-2.1.1.min.js"), self.data.url("page-script.js")]
    });
    panel.port.emit('to-panel');
    panel.port.on("from-panel", function(pic) {
        worker.port.emit("to-page", pic);
    });
}

面板.html

<html>
<head>
</head>
<body>
    <img src="icon-64.png" class="add-img" alt="">
    <button class="click">Click Me!</button>
</body>
</html>

面板.js

self.port.on("to-panel", function() {
    var pic = $('.add-img');
    $('button.click').on('click', function(){
        self.port.emit("from-panel", pic);
    });
});

页面.js

self.port.on("to-page", function(pic) {
    $('body').append(pic);
});

我想从面板复制元素并将其放置到页面。 我尝试将其设置为名为“pic”的变量并传输到 page.js 以放置在网页上,但它不起作用。尽管如此,简单的字符串很容易传输并放置在页面上。

浏览器控制台显示“TypeError:a 未定义”。

请帮忙,抱歉英语不好。

最佳答案

var myobjStr = JSON.stringify(myObj) 面板中的对象。然后将其转换为字符串。现在将该字符串传递到您的页面,然后在粘贴中像这样解析它:

var myobjFromStr = JSON.parse(myobjStr)

关于jquery - 如何在 Firefox 插件中的脚本之间移动 jQuery 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26578471/

相关文章:

javascript - jQuery 在每个无法访问 $(this) 内创建间隔

javascript - Backbone 集合。 fetch() 不在 mozilla 中呈现 View

javascript - 将 slider 连接到菜单

php - Ajax 无法在 Codeigniter 中运行

javascript - 获取 Javascript 嵌套数组对象值

java - 如何使用字符串作为参数来表示 Java 中的对象?

c++ - 在类构造函数中使用单独类的对象

javascript - FireFox 扩展 - 使用组件 - 十六进制解码

javascript - Firefox 插件 SDK : prompt with multiple checkboxes

javascript - 如何检测和/或阻止破坏我网站的浏览器扩展?