问题标签 [microsoft-edge-extension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
267 浏览

microsoft-edge - Edge 不支持 API 调用“tabs.captureVisibleTab”

我在 Windows 10 v1703 上使用 Edge,构建 15063.296。文档 ( https://docs.microsoft.com/en-us/microsoft-edge/extensions/api-support/supported-apis ) 指出 API tabs.captureVisibleTab 可用。

但是当我在后台脚本中使用它时,我收到以下错误:

Edge 不支持 API 调用“tabs.captureVisibleTab”。

代码是:

我错过了什么吗?

更新:

这是我的清单文件(从 Chrome 移植):

在我的 fsBackground.js 页面中,我进行了调用:

我收到以下错误:点击查看屏幕截图...

0 投票
0 回答
119 浏览

microsoft-edge - Edge 扩展 - 如何创建可下载的内容?

My Edge 扩展创建 PDF 文件。在我的扩展中为这些文件提供下载功能的最佳方法是什么?我试过了:

  1. window.navigator.msSaveOrOpenBlob()
  2. 动态创建链接并将数据 URI 分配给 HREF 字段
  3. 这种方法:http ://html5-demos.appspot.com/static/a.download.html

这些方法似乎都不起作用。“下载”API 目前不可用。使用 Flash 脚本下载文件并不是最好的解决方案(它需要启用 Flash)。

理想的场景是:用户单击“下载”按钮,然后出现“另存为”对话框。那么如何在我的Edge 扩展中做到这一点呢?

0 投票
1 回答
280 浏览

javascript - Edge 扩展的 browser.alarms 的替代品

我将一个扩展从 Chrome 移植到 Microsoft Edge。该扩展在 Chrome 中正常工作,但在 Edge 中存在一些问题。

这些问题之一是Edge 不支持browser.alarms.

对于 Edge 扩展,使用的替代方法是browser.alarms什么?

0 投票
0 回答
176 浏览

javascript - 如何使用 Javascript 以编程方式清除 Microsoft Edge 中的浏览器缓存?

我正在使用以下功能从 chrome 扩展中清除浏览器缓存:

但是我需要对边缘扩展做同样的事情,但我不能这样做,因为 chrome.browsingData.remove 已在 Edge 中桥接。有人可以帮我做同样的事情吗?

0 投票
0 回答
632 浏览

javascript - 为什么 browser.tabs.query 在 Edge Extension 中不起作用?

我正在使用以下函数来获取当前选项卡。

我收到此警告 哎呀.. 功能不正确。

有人可以帮我解决这个问题并告诉我我做错了什么吗?

0 投票
2 回答
116 浏览

microsoft-edge-extension - browser.extension.getViews({type: "popup"}) 不适用于边缘扩展

有人可以给我一些关于如何向边缘视图发送消息的替代方法。我刚刚在这里看到了 extension.getViews() 的页面。它与边缘不兼容。那么我应该用什么来代替这个呢?

0 投票
0 回答
502 浏览

javascript - Microsoft Edge 中 cookies.onChanged 的​​替代方案

我有一个 chrome 扩展,我现在正在移植到 Microsoft Edge。我在 chrome 中使用 cookies.onChanged.addListener 方法。由于 Microsoft Edge 不支持 cookies.onChanged API,因此我可以将其用作替代方案,以便我可以监听任何 cookie 更改。

提前致谢。

0 投票
0 回答
649 浏览

javascript - 为什么我的 Edge 扩展中的内容脚本块不起作用?

我有一个适用于 Chrome 和 Firefox 的扩展,我也尝试让它在 Microsoft Edge 中运行。由于某种原因,内容脚本停留在“runtime.sendMessage”功能上。我使用的是 Edge 40.15063。

Edge 控制台说:

“API 调用:'runtime.sendMessage'”

“脚本块 (9) (214,17)。”

清单.json:

边缘.js:

内容.js:

0 投票
1 回答
780 浏览

uwp - MS Edge Extension with Native Messaging on Desktop PC - 在后台运行 UWP 应用程序/无 UI

我们在 Windows 上有一个经典的桌面应用程序,它需要与 Web 浏览器进行通信。因此,我们创建了 Web 浏览器扩展并使用本机消息传递技术在网页上的 JavaScript 和本机桌面应用程序之间传递消息。Google Chrome、Mozilla Firefox 和 Opera 目前支持这种通信方式。现在我们想在 Microsoft Edge 中执行相同的任务。但不幸的是,Microsoft Edge 以与其他浏览器不同的方式支持本机消息传递。在 Chrome/Firefox/Opera 中,可以通过 stdin/stdout 将序列化的 JSON 字符串简单地传递给本机消息传递主机应用程序。

由于 Microsoft Edge 是一个通用 Windows 平台应用程序,它仅支持通过 AppService 与另一个 UWP 应用程序通信(并通过 FullTrustProcess 与我们的经典桌面应用程序进一步通信)。由于多种原因,我们的经典桌面应用无法转换为 UWP 应用。基本上这没有问题,但是有一些问题我目前不知道如何解决:

UWP 应用似乎需要用户界面。但是扩展的目的只是交流,没有 UI 意图。

因此,当用户打开 UWP 应用程序时,我可以显示有关 UWP 应用程序/边缘扩展的一些信息,但如果用户关闭应用程序(例如通过单击 (X) 按钮),UWP 应用程序进程将被系统杀死。如果在通信过程中发生这种情况,本机消息通信将中断,用户将收到错误消息。到目前为止,我还没有找到避免这种情况的方法。当 Microsoft Edge 启动 UWP 应用程序(由扩展程序的后台 JavaScript 代码中的“runtime.connectNative”启动)时,它会在后台模式下运行,并且如果 Microsoft Edge 退出(正常)将终止。但是如果用户打开应用程序(例如通过开始菜单),应用程序的进程会被重用,并且它现在在前台模式下运行。然后如果 App UI 被用户关闭,最初由 Microsoft Edge 启动的进程将被终止。我查看了 Microsoft 的官方“ExtendedExecution”示例,但其行为方式相同。

  • 如果用户关闭应用程序的 UI,有什么方法可以将 UWP 应用程序发送到后台模式执行而不是终止?以便应用程序可以像以前一样继续在后台模式下运行?
  • 或者有什么方法可以在 OnLaunched 事件中隐藏 UI(例如,我们的经典桌面应用程序将被打开,用户现在将无法再手动关闭 UWP 应用程序)?

可能我可以从我们的本地桌面应用程序中找到 UWP 应用程序的 HWND 并用它执行一些丑陋的 hack,但我绝对想避免这种情况。

问候, 多米尼克

0 投票
1 回答
63 浏览

windows-10-universal - 安装 Edge 扩展后不显示 gui

通过包安装我的 uwp 应用程序后(我创建了一个包但尚未将其发布到存储),安装窗口有一个“启动”按钮,用于启动 GUI。但我的应用程序是一个边缘扩展,它使用后台任务和桌面桥接。我希望安装程序改为启动 Edge。

我听说 GUI 窗口是将应用程序发布到商店的要求。