Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firefox addon location.href=";javascript:Function();isn';不适用于Firefox扩展_Firefox Addon_Firefox Addon Webextensions - Fatal编程技术网

Firefox addon location.href=";javascript:Function();isn';不适用于Firefox扩展

Firefox addon location.href=";javascript:Function();isn';不适用于Firefox扩展,firefox-addon,firefox-addon-webextensions,Firefox Addon,Firefox Addon Webextensions,在Chrome web浏览器扩展中,我可以使用下一种方法调用/触发网站的(页面)js函数: location.href="javascript:SomeFunction(); void 0"; 它工作得很好 但它不适用于Firefox 虽然在旧的Firefox插件中,我可以像这样调用网站的js函数: var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"] .getServi

在Chrome web浏览器扩展中,我可以使用下一种方法调用/触发网站的(页面)js函数:

location.href="javascript:SomeFunction(); void 0";
它工作得很好

但它不适用于Firefox

虽然在旧的Firefox插件中,我可以像这样调用网站的js函数:

var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
                  .getService(Components.interfaces.nsIWindowMediator);
var mainWindow = wm.getMostRecentWindow("navigator:browser");
mainWindow.gBrowser.loadURI("javascript:SomeFunction(); void 0");

但现在一切都是关于Firefox Web扩展的,我想要
location.href=“javascript:SomeFunction();void 0”将在FF中工作

Hmmm…很有趣。我没有考虑过使用那种调用网页函数的方法。我将不得不尝试一下,看看为什么在Chrome中可以使用它,而在Firefox中不能使用它。@Makyen-这只是在页面中添加脚本,但我只有在使用上下文菜单项或鼠标中键单击时才能调用函数,所以在页面中添加脚本无法解决我的问题,我需要类似于
location.href的东西=“javascript:SomeFunction();无效0";所以我可以随时调用该函数,而不仅仅是加载dom/pageI我不确定您对建议的副本有什么问题。建议的副本显示了如何通过动态添加包含您希望运行的代码的
元素,随时在页面上执行函数。您正在有效地添加
SomeFunction()到DOM。虽然比你所说的要复杂一些,但它可以用同样的方式使用。它在您将其添加到DOM时执行,而不是在DOM加载/页面加载时执行。@Makyen哦,对不起,忘记了DOM是如何工作的(我已经有一段时间没有玩web了)。但我想我们可以留下我的问题,关于为什么使用替代方法
location.href=“javascript:…;void 0”
在FFI中不起作用如果您想改写问题(即更改标题和一些重写),使其明确显示为“为什么X不起作用”,那就好了。如果你这样做了,打我。我会收回我的投票,看看我是否有时间去寻找答案。现在我的待办事项清单上有很多事情,但在我开始之前,其他人可能已经有了答案。然而,当前的标题和问题措辞强烈地促使我将其解读为“我如何做Y”。嗯……很有趣。我没有考虑过使用那种调用网页函数的方法。我将不得不尝试一下,看看为什么在Chrome中可以使用它,而在Firefox中不能使用它。@Makyen-这只是在页面中添加脚本,但我只有在使用上下文菜单项或鼠标中键单击时才能调用函数,所以在页面中添加脚本无法解决我的问题,我需要类似于
location.href的东西=“javascript:SomeFunction();无效0";所以我可以随时调用该函数,而不仅仅是加载dom/pageI我不确定您对建议的副本有什么问题。建议的副本显示了如何通过动态添加包含您希望运行的代码的
元素,随时在页面上执行函数。您正在有效地添加
SomeFunction()到DOM。虽然比你所说的要复杂一些,但它可以用同样的方式使用。它在您将其添加到DOM时执行,而不是在DOM加载/页面加载时执行。@Makyen哦,对不起,忘记了DOM是如何工作的(我已经有一段时间没有玩web了)。但我想我们可以留下我的问题,关于为什么使用替代方法
location.href=“javascript:…;void 0”
在FFI中不起作用如果您想改写问题(即更改标题和一些重写),使其明确显示为“为什么X不起作用”,那就好了。如果你这样做了,打我。我会收回我的投票,看看我是否有时间去寻找答案。现在我的待办事项清单上有很多事情,但在我开始之前,其他人可能已经有了答案。然而,当前的标题和问题措辞强烈地促使我将其解读为“我如何做Y”。