小编erv*_*erv的帖子

tabs.executeScript()未在扩展的内容页面中注入脚本

我刚刚开始学习如何在Firefox中创建自己的插件。我正在使用webExtensions,尽管我发现很难获得全面的文档(我认为是因为它仍然是一个新的实现?)。代码似乎都可以正常工作,并且在executeScript调用之后完成了“ onExecuted”功能。但是我注入的脚本(output.js)似乎没有启动。运行代码后,我在javascript控制台中收到以下错误:“没有匹配的消息处理程序”。我不确定注入的脚本应该是一个自包含的js文件,还是只是js命令的集合。我也尝试了后者(只是一个简单的消息框),但也没有用。

我的代码:manifest.json:

{
    "manifest_version": 2,
    "name": "ExportTabs",
    "version": "0.9",

    "description": "Export/Import Tabs",
    "icons": {
        "48": "icons/export48.png"
    },

    "permissions": [
        "tabs",
        "activeTab",
        "<all_urls>"
    ],

    "applications": {
        "gecko": {
            "id": "938745934875@example.com"
        }
    },

    "browser_action": {
        "default_icon": "icons/export.png",
        "default_popup": "popup/popup.html" 
    }
}
Run Code Online (Sandbox Code Playgroud)

当我按下插件按钮时,我的popup.html:

<!DOCTYPE html>

<html>
  <head>
    <meta charset="utf-8">
  </head>

  <body>
    <div>
        <button onclick="save()">Save Tabs</button>
        <button onclick="view()">View Tabs</button>
    </div>

    <script src="popup.js"></script>
  </body>

</html>
Run Code Online (Sandbox Code Playgroud)

popup.js文件:

function save() {
    chrome.tabs.create({"url": chrome.extension.getURL("popup/output.html")}, onCreated);
}

function onCreated(newTab) {
    chrome.tabs.executeScript(newTab.id, {
        file: "popup/output.js",
        allFrames: true
    }, onExecuted); …
Run Code Online (Sandbox Code Playgroud)

javascript firefox-addon firefox-addon-webextensions

3
推荐指数
1
解决办法
3184
查看次数

如何将Node.js升级到最新版本

我想从LTS升级到8.x。我需要将其集成到现有项目中。这样做的最佳方法是什么,以便升级后我的项目继续正常工作?(我在Windows上)。

upgrade node.js

3
推荐指数
1
解决办法
5731
查看次数

node.js / MySQL:当我尝试插入数据库时​​,某些字符串编码(表情符号)抛出错误

我正在运行一个node.js脚本,该脚本将数据从公共“数据库”(这是一个“区块链”)中拉出,然后对其执行一些操作,然后将其插入到MySQL数据库中。我有使用UTF8_general_ci编码的MySQL数据库。绝大多数数据解析都很好,但是每隔很多次它就会遇到无法插入的内容。我收到此错误:

code: 'ER_TRUNCATED_WRONG_VALUE_FOR_FIELD',
  errno: 1366,
  sqlMessage: 'Incorrect string value: \'\\xF0\\x9F\\x8D\\x95 N...\' for column \'body\' at row 1',
  sqlState: 'HY000',
  index: 0,
Run Code Online (Sandbox Code Playgroud)

它显示了似乎引起错误的字符串位,并且始终具有以下独特的问号字符:

This looks like Paradise for me! ????\

我猜这是编码问题?有没有一种方法可以在引发错误之前将其转换?我不确定该区块链使用什么编码,甚至不确定如何找到。

编辑:这是此区块链的网络界面上显示的另一个示例(错误):

并非常欢迎您!

另一个编辑:我应该指出,我正在使用mysql.format(sql, inserts)这些数据来处理无意的sql问题-https: //github.com/mysqljs/mysql#preparing-queries

javascript mysql character-encoding node.js

1
推荐指数
1
解决办法
2955
查看次数

如何将图像导入到我的 React Native 应用程序中?

我是 React Native 的新手,我正在尝试通过以下方式在我的应用程序中包含图像:

function Interactions(props) {
    return (
        <View>
            <Image source={require('./assets/comment_32.png')} />
            <Text>{props.info.replies}</Text>
        </View>
    );
}
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误 -TypeError: Failed to construct 'Image': Please use the 'new' operator, this DOM object constructor cannot be called as a function.

javascript reactjs react-native

1
推荐指数
1
解决办法
1920
查看次数