gpt4 book ai didi

javascript - 内容 Js 函数未链接错误 - "Function Not Defined "

转载 作者:行者123 更新时间:2023-11-30 16:41:09 25 4
gpt4 key购买 nike

在 Firefox 插件上工作我正在调用内容 js 和 html 页面使用下面的插件脚本是插件脚本的代码片段。

var textChk = require("sdk/panel").Panel({
position: {
top: 0,
right: 0
},
hight: 100,
contentURL: data.url("textChk.html"),
contentScriptFile: data.url("content.js")
});
function handleClick() {
textChk.show();
textChk.port.on("first-para", function(firstPara) {
console.log(firstPara);
});
textChk.port.emit("get-first-para");
}

内容脚本的代码如下

function loginChk()
{
self.port.on("get-first-para", getFirstPara);
}

function getFirstPara() {
var userId = document.getElementById("usermail").value;
var pass = document.getElementById("password").value;
if (userId.length > 0 && pass.length > 0) {
var firstPara = userId + " ** " + pass;
self.port.emit("first-para", firstPara);
}
}

现在当我调用 loginChk() 函数时出现以下错误

ReferenceError: loginChk is not defined

我无法弄清楚问题出在哪里,因为这是早些时候在另一个附加代码中工作的。有人可以建议我如何纠正此错误吗?

最佳答案

我们在 IRC 上讨论了一下,但仅供将来引用。

您可以开始使用“./”作为数据文件夹的快捷方式(因此您不再需要数据模块来处理这些琐碎的事情);并删除 contentScriptFile:

var textChk = require("sdk/panel").Panel({
position: {
top: 0,
right: 0
},
hight: 100,
contentURL: "./textChk.html"
});

“content.js”可以直接包含在你的“textChk.html”文件中,只需要一个脚本标签:

<!-- textChk.html -->
<html>
<head>
<!-- meta, etc -->
<script src="content.js"></script>
</head>
<!-- rest of your file, body, etc -->
</html>

content.js,现在您可以使用 addon.port 而不是 self.port< 直接从您的附加代码发送和接收消息,请参阅 documentation about sdk panel了解更多详情。

handleClick,我认为它与按钮的点击有关——顺便说一下,你知道吗 attach a panel to a button ? ——那个显示面板,还可以稍微改进一下。首先,您可以只在外部添加监听器,否则每次显示面板时都会添加一个新的监听器,您可能只需要一次。另外,您只想在显示面板时获取段落,因此:

var textChk = require("sdk/panel").Panel({ /* ...*/ });

textChk.port.on("first-para", (firstPara) => console.log(firstPara));

textChk.on("show", () => textChk.port.emit("get-first-para"));

function handleClick() {
textChk.show();
}

那已经是一个更好的事件流了。

也就是说,如果没有实际调用 loginChk 的代码,我无法判断出了什么问题,因为我看不到您的附加组件的流程。据我所知,如果 loginChk 实际上只添加了一个监听器,则您不需要它,您可以像我一样放置而不用任何函数包装它。

希望对你有帮助。

关于javascript - 内容 Js 函数未链接错误 - "Function Not Defined ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31979998/

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