【发布时间】:2014-12-22 02:16:50
【问题描述】:
我的插件和脚本中有一个带有脚本和 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);
});
}
panel.html
<html>
<head>
</head>
<body>
<img src="icon-64.png" class="add-img" alt="">
<button class="click">Click Me!</button>
</body>
</html>
panel.js
self.port.on("to-panel", function() {
var pic = $('.add-img');
$('button.click').on('click', function(){
self.port.emit("from-panel", pic);
});
});
page.js
self.port.on("to-page", function(pic) {
$('body').append(pic);
});
我想从面板中复制元素并将其放置到页面中。 我尝试将其设置为名为“pic”的变量并传输到 page.js 以放置在网页上,但它不起作用。然而,简单的字符串很容易传输并放置在页面上。
浏览器控制台显示“TypeError: a is undefined”。
请帮助并为英语不好感到抱歉。
【问题讨论】:
标签: jquery object firefox-addon