支持原生短信的Edge扩展打包(UWP应用)。
我开发了一个扩展程序,该扩展名使用本机消息与后端UWP应用程序进行通信.我该如何打包? 当我安装软件包时,它将安装边缘扩展名,这是软件包的一部分. 解决方案 我成功地通过以下步骤构建了带有边缘扩展名的软件包. 希望这对您有帮助〜 在C \ Edgeextension \ Appx中构建项目如下结构: 1. Full TrustProcess 如果有FullTrustProcess,则应将EXE包含在TrustedProcess文件夹中,并在AppxManifest.xml中配置. 如果没有FullTrustProcess,请忽略并删除TrustedProcess文件夹. 2.扩展 Edge扩展名的JS文件包含在扩展文件夹中,如下所示: 3.
边缘扩展原生消息传递。处理UWP的消息大小限制
我正在为Edge开发一个扩展名,我需要从UWP发送超过1MB的数据. 我将数据分解为小于1MB,并尝试多次发送回复 private async void OnAppServiceRequestReceived(AppServiceConnection sender, AppServiceRequestReceivedEventArgs args) { AppServiceDeferral messageDeferral = args.GetDeferral(); // This is to be replaced with enumerator for (int i = 0; i
10 2023-11-12
编程技术问答社区
Microsoft Edge是否支持用户脚本?
Microsoft是否宣布Edge是否支持Userscript?无论是通过插件(类似于Firefox中的GreaseMonkey还是Chrome中的Tampermonkey)还是作为开箱即用的功能. 解决方案 2016年4月: build noreflowl noreferrer"> build build build build build build Windows norefloll现在支持Microsoft Edge中的扩展 正如承诺的,边缘的扩展提供了几乎完美的奇偶校验,并具有镀铬的扩展.在最近的Microsoft会议上涵盖Edge的一次会议上,其中一位演示者在Chrome扩展中更改了 One 的代码线,以使其在Edge中完美工作. 请注意,14291是内幕预览. Windows 10的当前稳定释放轨道在Build 10586上. 2015年6月/12月: 一开始,而是最终. 他们将允许以后的构建中的用户参考和扩展名 2016 ,在2
8 2023-11-11
编程技术问答社区
无法让Edge在我的WebExtension中返回一个Promise
我正在尝试使用我的background.js webexension创建一个新选项卡,如下所示: createTab: function () { var newTab = browser.tabs.create({ url: someUrl }); newTab.then(onCreated, onError); } 新标签在浏览器中创建,但是当达到最后一行时,会丢弃错误: script5007:无法获取未定义或null引用的属性'then' 当地窗口显示newTab是undefined. 我在这里做错了什么?我以为.create()会立即返回Promise.我知道create()是一个异步函数 - 但是我的调用功能不需要异步,对吗? 任何帮助将不胜感激. 解决方案 我最终阅读了 似乎很确定;现在,我只需要使用回调的示例... 其他解决方案 正如斯科特·贝克(Scott Baker)已经提到的那样,Microsoft
30 2023-07-14
编程技术问答社区
由于出现奇怪的错误,无法加载一个已解压的边缘扩展。如何解决这个问题?
我正在尝试加载半制作的扩展名,以查看它是否有效. 我制作了清单文件,还有一些文件来测试我的扩展名,以查看它是否按预期工作. 清单: 但是,我取而代之的是从Edge收到一个奇怪的错误. 我正在为负载进行扩展,看起来没有错误.如果允许使用错误的扩展程序,则此错误将限制我的扩展名时完全没有做任何事情. . 任何人都可以仔细研究清单,并推荐更改吗?谢谢. 注意:Chrome并没有发生这种情况.我期待在此处发布我的扩展名,但是我认为Edge的扩展比Chrome少. 另外,制作.json文件需要一个编程头.我有那个,但是出现了一个意外的错误.不要要求从互联网上拿走,它根本无法给出与主题相关的答案. 解决方案 将您的表现粘贴到
36 2023-06-21
编程技术问答社区
Chrome扩展在调用launchWebAuthFlow API时使Microsoft Edge浏览器崩溃
我们有一个在铬边缘和铬浏览器上运行的铬延伸.在此之前,一切都很好,但是今天它在调用API后开始崩溃Microsoft Edge,而在调试时,我们看到此错误来自此API: 我们将此API用于AUTH,Microsoft还指出我们可以使用此API.以下消息来自Microsoft频道: chrome.Identity.getAuthToken-作为替代方案,您可以使用lunainewebauthflow获取oauth2令牌来验证用户. 问题仅带有边缘浏览器. 边缘版本:96.0.1054.41(官方构建)(64位) 我们还试图降级边缘,但似乎没有任何作用. 我们使用Google和Microsoft登录和启动Webauthflow仅在Microsoft Login上发生故障,我们正在使用的Auth Uri: https://login.microsoftonline.com/common/oauth2/authorize 我们正在传递所有必需的参数,并通过背景脚本进
54 2023-06-21
编程技术问答社区
边缘扩展 chrome.storage.local 1MB 限制
将现有的扩展从Chrome移植到Edge,我在Chrome.storage.local上的1MB限制有问题.我在此主题中使用了该功能 in Javascript中的字符串长度找到他字符串的大小,发现如果JSON字符串超过1MB,它将抛出"超过1MB"的例外,但是如果JSON字符串在250kb和1MB之间,则在Chrome.runtime.luntime.lasterror中获得一条消息,说数据超过1MB,没有例外,数据没有存储. 我尝试切换到浏览器.存储,但是我得到了相同的结果.这是一个错误还是我使用的字节大小函数? 也我正在使用LZ-string来压缩数据以尝试增加我的存储空间. tmp = JSON.stringify(tmp); tmpAsString = LZString.compressToUTF16(tmp); var compresskey = 'compressedJSExtension'; try { chrome.storage.local
12 2023-06-12
编程技术问答社区
当同时针对Google Chrome和Edge Chromium时,我应该何时启动本地信息主机?
我有一个使用本机主机的Google Chrome扩展名.这仅在Windows盒上使用,并且添加了扩展名的注册表设置以及安装本机主机EXE.当前,当加载扩展背景脚本时,启动端口(chrome.runtime.connectnative)或本机主机.目前,这意味着本机主机在Google Chrome运行时运行. 该扩展名仅用于1个网站" www.example.com",因此仅在加载此网站的选项卡时才能运行内容脚本.这意味着只有在加载本网站的标签而不是一直以来都需要本机主机. . 我现在也想创建一个边缘铬扩展名,并为用户提供使用Edge或Chrome的选项.正如我上面指出的那样,两个扩展名将"安装",这意味着本机主机安装时添加的注册表键.这意味着两个浏览器都将在那里. 我的主要问题是何时以及如何开始启动本机主机. 从这个主要问题中,我有很多想法或问题; 当用户选择使用边缘或铬时,我当时应该对注册表进行更改?问题当然可以独立于我的应用程序安装扩展名. 是否存在
22 2023-04-26
编程技术问答社区
如何让chrome.bookmarks在JSON中提供整个树的信息?
问题是简洁的: 我如何利用chrome.book marks api获取整棵树的JSON,以任何方式不变,所以我可以发送其他地方? 这是一个值得的边缘. 本文的其余部分是背景,因此您可以看到我不仅将其从一无所有.希望它可以帮助您看到我来自哪里. 单独查看它,我找不到任何数量的方法来返回JSON树它说它应该: chrome.bookmarks.getTree() 尝试这样的事情(或下面列出的任何其他尝试)... chrome.bookmarks.getTree( function(){return chrome.bookmarks.BookmarkTreeNode[0];} ) ...结果" 无法读取未定义的属性(读取'0')" ... 我正在尝试编码扩展名(我仍在学习JavaScript),而我只是无法绕过Chrome. 扩展名没有HTML,这是清单: { "name": "myExtensionyWentiony",
18 2023-04-26
编程技术问答社区
带有本地消息和非持久性连接的微软Edge扩展无法工作
我创建了一个带有本机消息传递的Microsoft Edge扩展程序 给定的示例在这里在我的特殊情况下没有用: 示例(随机数生成器)显示了两个UWP应用程序如何在服务器已经运行时与服务器通信的位置通信.在带有本机消息传递的Edge扩展程序中(并且我的基于数字签名和安全的输入示例),我有一个W32应用程序,当消息通过扩展从页面到达时,服务器未运行. 我已经检查了所有我能找到的样本我需要的"非势力"连接: 我也尝试在我的边缘扩展中使用runtime.sendNativeMessage,但这仅适用于第一个消息. 我没有交互式HTML页面,用户可以开始使用runtime.connectNative启动连接.这就是为什么它必须以与Chrome和Firefox使用的方式相似的方式使用runtime.sendNativeMessage到start/query/get-response的"非持久"连接. . 解决方案 没有单独的API在持久性和非持久连接的边缘.唯一的区
30 2023-04-20
编程技术问答社区
微软Edge扩展标签内容
我正在探索有关Microsoft Edge扩展开发的一些探索.基本上,我试图阅读选项卡的HTML内容.以下是我的解决方案中的代码段. 我的清单. { "name" : "HTML Reader", "version" : "1.0.0.0", "author" : "Stack Memory", "browser_action" : { "default_icon" : { "20" : "icon_20.png", "40" : "icon_40.png" }, "default_title" : "Sample extension", "default_popup" : "index.html" }, "content_scripts" : [{ "js" : ["j
28 2023-03-27
编程技术问答社区
用户通过注册表从带有MSI的Edge Chromium扩展中得到什么通知?
当Chrome添加了扩展名的注册表键时,下次启动Chrome时将通知用户.边缘铬不会发生. 测试 - Microsoft Store中的应用 - 注册表Install 服用 使用以下内容将其注册在注册表中. [HKEY_CURRENT_USER\Software\Microsoft\Edge\Extensions\amnbcmdbanbkjhnfoeceemmmdiepnbpp] "update_url"="https://edge.microsoft.com/extensionwebstorebase/v1/crx" 开始边缘 没有窗口通知正在安装新的扩展名. (Chrome显示一个窗口). 安装了扩展名但已禁用. 一个小的橙色点出现在右上角约1秒钟,但随后消失了.见图片 对于用户来说,这并不令人满意,因为这意味着他们必须等待Edge同步新扩展名,然后转到扩展页面以启用它. Chrome首先在右上方显示一个窗口,然后用户可以单击该窗口以启用扩展名.只
50 2023-03-27
编程技术问答社区
Microsoft Edge中内容脚本和背景脚本之间的通信
我在基于 browser.runtime.connect 之间的通信问题上在我的测试回声扩展的背景脚本之间.我已经在 github . 上发布了我的代码和扩展程序包 此扩展名的简短描述.您可以在如Microsoft Edge文档中所述,使用 Load Extension 按钮将其添加到Edge时,此扩展程序正常.因此,如果您打开测试页面使用已加载的扩展名,则应看到"来自背景脚本的Hello from Backgromn>" 收到的消息字段.. P> 但是,如果从软件包中安装了此扩展名,则存在一个奇怪的问题……直到我打开此扩展名的背景页面并重新加载测试页面… 因此,您可以尝试复制它: 从软件包安装此扩展程序 打开测试页面.背景脚本无法正常工作(接收到的消息字段是空的),并且此脚本未接收已发送的消息……页面重新加载或关闭扩展名\ contention \ of the Extension无济于事. 打开背景页面此扩展程序的.然后可以关闭此页面. 重新加载测试页面 扩展开始
18 2023-03-27
编程技术问答社区
Angular表达式在Chrome扩展中评估,但在Edge扩展中不评估
i使用Angular(V1.6.3)具有简单的浏览器扩展名,但是浏览器扩展的弹出窗口中的角表达式无法在边缘进行评估,但它在Chrome中. . 角表达简单 {{2+2}}. 当我浏览相关网站时(如 https://marketplace.visalstudio.com 或 chrome示例 边缘示例 我相信HTML和角度的互动本身在根本上是合理的,因为当我直接浏览到 chrome示例直接直接屈服到边缘示例直接浏览到 总而言之,这只是作为边缘扩展,表达式评估失败了.作为镀铬扩展或在边缘和铬中直接浏览它. 您的管子上的三十秒视频演示: 我已经在 github上放置了源代码的完整版本.以下内容: a
Edge:当使用具有多种尺寸的默认图标时,browserAction.setIcon不起作用。
当manifest.json指定多种尺寸的默认图标时,我无法在Microsoft Edge中工作: subtest.json { "manifest_version": 2, "name": "test", "version": "0.0.1", "author": "John Doe", "background": { "scripts": ["background.js"], "persistent": false }, "browser_action": { "default_icon": { "19": "icon.png", "38": "icon2.png" } } } 背景.js setInterval(function() { browser.browserAction.setIcon({ path: "testimage.png" }); }
10 2023-03-27
编程技术问答社区
如何在Windows Store上发布Edge扩展?
自Windows 10周年更新以来,我开始为Edge开发扩展. 我想在Windows Store上发布其中一些,但是我不知道如何.我目前正在侧重加载扩展名.您如何打包并提交它? 解决方案 更新(2017-07-11): Microsoft在下一阶段推出:现在可以>提交扩展名以进行审查. 更新(2016-12-19): Microsoft Edge发表了 将Microsoft Edge扩展扩展到Windows Store是当前的限制功能. 与您联系 随着您的要求,您要成为Windows Store的一部分,我们会考虑您为将来更新. 更新(2016-11-21): 根据建筑,测试和部署MicrosoftEdge的浏览器扩展,这是 Microsoft Ignite nz Windows Store,请考虑将请求提交到上一篇: Microsoft Edge此时不接受公开提交的商店(2016-11-21更新).请参阅 以及从公共常见问题解答
10 2023-03-27
编程技术问答社区
边缘:进程中的本地扩展和Windows.System.Launcher.LaunchFileAsync
我已经使用在这里(通过OnBackgroundActivated的激活).在OnBackgroundActivated中,或在已建立的App Service连接的OnAppServiceRequestReceived中更具体,我试图致电Windows.System.Launcher.LaunchFileAsync(IStorageFile).这似乎没有在UI-Thread上发生(尽管附带的调试器确实在调试模式下工作). 我面临的问题是,应用程序是无头的,因此没有CoreWindow.GetForCurrentThread().Dispatcher,我也不能从Window.Current中检索调度员. 即使在发布模式下或不附加调试器,我如何强制在UI-Thread上执行LaunchFileAsync? 我确实知道我可以简单地做以下操作: await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriorit
26 2023-02-14
编程技术问答社区
如何确定你的扩展后台脚本是在哪个浏览器中执行的?
我说的是镀铬扩展,firefox webexensions,Edge Extensions ... 在背景脚本而不是内容脚本中,是否有清晰的方式知道我正在使用哪个浏览器?我需要为不同的浏览器进行不同的操作. 是,navigator.userAgent可能很有用,但是不是很清楚. 是否可以使用任何扩展API来执行此操作?类似chrome.extension.browserType. (当然,这个并不存在.) 解决方案 没有特定的API检测当前正在使用哪个浏览器.主要浏览器以支持通用扩展框架的主要浏览器的好处之一就是能够拥有一个支持多个浏览器的代码库.尽管所有适用的浏览器可用的功能集正在增长,但总会有一些差异.这些差异不仅在受支持的内容中,而且在某些壳体中,在特定API的效果的细节中或必须如何使用API​​. >因此,对于某些事情,有必要确定代码当前正在运行的浏览器. top-Doted答案是"如何检测Safect Safari,Chrome,IE,IE,Fi
边缘扩展HTTP请求中的错误0x2efd
我正在尝试将镀铬扩展放到边缘. Chrome Extension正常工作,所有HTTP请求都按预期工作.当这些相同的请求在端口中发射时,我会得到此错误: xmlhttprequest:网络错误0x2EFD,由于错误00002EFD而无法完成操作. 这个问题似乎弹出了很多Microsoft东西,包括Windows Phone .也许我对此扩展的问题有类似的答案,但是我允许我的清单中的所有URL ... 这是请求: $http.get(url) .then(function () { }) .catch(function () { var args = arguments; }); 我也尝试了jQuery的方式: $.ajax({ url: url, success: function () { }, error: function () { var args