【问题标题】:How do I open a Crossrider popup based on a new page opening?如何根据新页面打开打开 Crossrider 弹出窗口?
【发布时间】:2016-07-14 08:22:48
【问题描述】:

我有一个 Crossrider 扩展程序,当单击扩展程序图标时,它会弹出一个带有 PNG 图像的菜单(在 popup.html 中)。这工作正常。但我也想在用户输入某些 URL 模式时以相同的方式打开 popup.html(这部分也已经在工作)。在过去的几个小时里,我没有尝试过任何工作。帮助!分机号:83484

在 background.js 我有这个:

    appAPI.browserAction.setPopup(
    {
        resourcePath: 'popup.html',
        height: popupDims[ appAPI.platform ].height,
        width:  popupDims[ appAPI.platform ].width
    });

在 extension.js 我有这个:

    appAPI.openURL(
    {
        resourcePath: "popup.html",
        where: "window",
        focus: true,
        focusTimer: 5000,
        height: 300,
        width:  300
    });

我也使用了“弹出”而不是“窗口”。

popup.html 窗口/弹出窗口不显示文件中引用的图像,即使该图像存在于我单击扩展图标时显示的弹出窗口中。此外,当单击图标后显示弹出窗口时,链接有效,但在上面的代码中无效。

【问题讨论】:

  • 你应该 a) 展示你已经尝试过的东西,并且 b) 解释“不起作用”的含义。您将更有可能在帖子中获得有关该信息的帮助。

标签: crossrider


【解决方案1】:

appAPI.openURLappAPI.browserAction.setPopup 方法不同,openURL 提供的环境非常有限;因此,虽然您可以在它们之间共享 popup.html 文件,但并非 setPopup 支持的所有功能(例如资源和某些方法)都可用于 openURL。有关详细信息,请参阅文档中的主题。

[免责声明:我是 Crossrider 的员工]

【讨论】:

  • 嗨什洛莫。感谢您的反馈。我的问题是:每次在活动选项卡中打开某个 URL 时,如何调用弹出窗口来显示?
  • 抱歉,上面的评论被删减了。我是否使用从 extension.js 到 background.js 的消息?
  • 我会考虑在 background.js 中使用 appAPI.tabs.onTabSelectionChanged 进行此操作,其中 URL 在传递给方法的参数中可用。
  • 谢谢施洛莫。我试试看!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-05
  • 2023-03-06
  • 1970-01-01
  • 1970-01-01
  • 2012-06-03
  • 1970-01-01
  • 2011-10-31
相关资源
最近更新 更多