小编Éri*_*ala的帖子

编写 Firefox WebExtensions 时出现不当的 WebStorm 警告

我正在制作一个 Firefox WebExtension。因此,我使用了相关的 API,而 WebStorm 似乎并不知道这些 API,因此出现了很多警告。

\n\n

例如,在下面的代码片段中

\n\n
        //make the panel a drop zone\n        panel.ondragover = function (\xcf\x84) {\n            \xcf\x84.preventDefault();\n            \xcf\x84.dataTransfer.dropEffect = "move";\n        };\n        panel.ondrop     = function (\xcf\x84) {\n            \xcf\x84.preventDefault();\n            \xcf\x84.stopPropagation();\n            var skware        = document.getElementById(\n                \xcf\x84.dataTransfer.getData(\'text\'));\n            skware.style.top  = (\xcf\x84.clientY - skware.mouseOffset.y) + \'px\';\n            skware.style.left = (\xcf\x84.clientX - skware.mouseOffset.x ) + \'px\';\n            put(\'skwarePos\',\n                skware.id,\n                {\'top\': skware.style.top, \'left\': skware.style.left}\n            );\n
Run Code Online (Sandbox Code Playgroud)\n\n

诸如此类的事情.dataTransfer将被标记为“未解决的变量”

\n\n

没什么大不了的,但是,肯定有一种方法可以告诉 WebStrom 我正在使用Firefox WebExtension JavaScript API,因此这个变量是合法的。

\n\n

我发现了一个关于 Chrome 扩展的类似问题,并且确实找到了一个名为 …

javascript firefox webstorm firefox-addon-webextensions

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

以编程方式在 Google Chrome 中固定标签页

我制作了一个小型 Chrome 扩展程序,可以打开一个新选项卡并在其中显示您的书签。

我希望自动固定这个新标签。代码是这样的:

chrome.tabs.create({
                    "url": chrome.extension.getURL("skwares.html")
                },
                function(tab) {
                    tab.highlighted = true;
                    tab.active = true;
                    tab.pinned = true;
                });
Run Code Online (Sandbox Code Playgroud)

新选项卡可以正常打开,但未固定。我错过了什么?

javascript google-chrome google-chrome-extension

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

stdio.h 中的函数 getline() 可以与 K&R88 中的函数共存吗?

我对 [K&R88] 深陷其中,并且受到责备,因为 K&R 用作示例和练习材料的gcc函数现已存在(据我所知,从 2010 年左右就开始存在)。getline()stdio.h

\n

有什么办法可以告诉编译器像 1988 年一样播放它,并让我的朴素版本取代库中的版本吗?

\n

(是的,这是徒劳的,但填充 [K&R88] 是我的新爱好;-)

\n

强制编译器输出:

\n
gcc -g -Wall -o "pgm" "pgm.c" (in directory: /home/eric/Development/6.087)\npgm.c:9:7: error: conflicting types for \xe2\x80\x98getline\xe2\x80\x99\n    9 | char *getline(){\n      |       ^~~~~~~\nIn file included from pgm.c:1:\n/usr/include/stdio.h:616:18: note: previous declaration of \xe2\x80\x98getline\xe2\x80\x99 was here\n  616 | extern __ssize_t getline (char **__restrict __lineptr,\n      |                  ^~~~~~~\nCompilation failed.\n
Run Code Online (Sandbox Code Playgroud)\n

c stdio kernighan-and-ritchie

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