javascript - 如何从 Firefox 侧边栏调用 javascript 链接?

标签 javascript firefox sidebar

主文档中的网站包含一个使用以下语句的 JavaScript 文件:

<script src="/somescript.js" type="text/javascript"></script> 

网站上还有一个链接,用于执行包含的文件中定义的 JavaScript 函数。它看起来像:

<a href="javascript:functionname('parm1', 'parm2');" <img src="http://.../button.png" id="pushme" alt="" height="80" width="200"> </a>

如何在 Firefox 侧边栏的主文档上下文中执行 functionname('parm1', 'parm2');
到目前为止我尝试过的是: mainWindow[functionname] 获取指向js函数的指针,但它总是返回null,即使页面已完全加载。 (发生这种情况是因为 javascript 源代码包含在单独的文件中吗?) contentDocument.getElementById("parentdiv").getElementsByTagName('a')[0].click(); 调用该方法,但 click 似乎不可用。 (有没有办法让链接可以点击()?)

或者还有其他方法来执行js函数吗?
感谢您的支持!

最佳答案

您无法获取该窗口的句柄,因为它不是当前窗口的实例变量。您可以使用 window.open() 并将结果句柄存储在变量中来获取对窗口的引用。

What i've tried so far is: mainWindow[functionname] to obtain a pointer to the js function, but it always returns null, even if the page was loaded completely. (Does this happen because the javascript source is included from a seperate file?

无论文件从哪里包含,函数都会在执行其定义时在浏览器的脑海中形成。

要使链接“可点击”,您只需使用窗口句柄调用它即可:

var myWindow = window.open("foo.html");

<a href="javascript:myWindow.functionname('parm1', 'parm2');"> 

当然,我们不应该使用内联 javascript,但作为一个简单的例子是可以的。 :)

关于javascript - 如何从 Firefox 侧边栏调用 javascript 链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4356900/

相关文章:

javascript - jquery 选择元素

javascript - 如何读取react应用程序中当前的URL

javascript - 将数据从 executeAsync 返回到调用函数 (javascript/mozilla)

selenium - 无法在 perl6 中安装 Selenium::WebDriver

php - 从 wordpress 帖子页面删除侧边栏和重播

html - 标题下的边栏和正文 "hiding"

javascript - 根据鼠标位置使用 Javascript 设置 CSS 'top' 属性

javascript - 计算函数在 VueJS 中被调用两次

javascript - 如何在 Firefox 55 的 Web 扩展中获取原始响应主体?

jquery - 我的左侧菜单不起作用