gpt4 book ai didi

javascript - 获取网页字段内容到Javascript变量 [Firefox Addon-SDK]

转载 作者:行者123 更新时间:2023-12-02 17:55:25 25 4
gpt4 key购买 nike

我正在使用 Firefox Addon SDK 来开发 Firefox Mozilla 插件/扩展。现在,当用户单击我的附加按钮时,我想从显示的网站获取字段值“user”。网页的表单如下所示:

<form name="input" action="html_form_action.asp" method="get">
Username: <input type="text" name="user" id="user" value="name of the user">
<input type="submit" value="Submit">

因此,我需要在我的附加组件文本框中显示值“用户名称”,该文本框是我在附加组件内部创建的。

但我不知道如何将数据从网站传递到ADDON VARIABLE/SITE。

最佳答案

您需要使用内容脚本来执行此操作。假设你有这样的 html:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form><input type="text" id="txt-field" value="this is the value"/></form>
</body>
</html>

...您需要做的是使用 page-mod 模块将内容脚本附加到页面,然后可以获取值并将其发送回。

main.js:

const data = require('self').data;

var currentVal = false;

require('page-mod').PageMod({
include: 'https://some.url/index.html',
contentScriptFile: data.url('script.js'),
onAttach: function(worker) {
worker.port.on('val', function(data) {
currentVal = data;
console.log(data);
});
}
});

脚本.js:

self.port.on('fetch-value', function() {
self.port.emit('val', document.querySelector('#txt-field').value);
});

这是一个非常简单的示例,只是为了向您展示 main.js 和内容脚本之间的通信如何工作。有关更多信息,我强烈建议您阅读有关内容脚本的文档:

https://developer.mozilla.org/en-US/Add-ons/SDK/Guides/Content_Scripts

关于javascript - 获取网页字段内容到Javascript变量 [Firefox Addon-SDK],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21000039/

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