microsoft-edge 相关问题

Microsoft Edge是一个针对Windows 10发布的新Web浏览器,与Internet Explorer(IE)11一起安装.Edge旨在成为IE的替代Web浏览器,因为IE将在IE 11之后停止开发.Edge使用EdgeHTML布局引擎(三叉戟叉)和Chakra Javascript引擎。

ClassList 删除似乎在 Edge 中不起作用

我已经在我的应用程序中实现了这个动画选项卡,遵循codepen上的设置。 现在,我想使用普通的 Javascript,而不是 jquery,这就是我写的: ... 我已经在我的应用程序中实现了这个动画选项卡,遵循codepen上的此设置。 现在,我想使用普通的 Javascript,而不是 jquery,这就是我写的: <div class="slides"> <div class="slides__slide"> <span class="slide-title"> <a href="#">yoga coaching</a> <i class="ion-chevron-down"></i> </span> <div class="experience__content"> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Excepturi rem ab voluptate provident voluptatum veniam cupiditate beatae expedita veritatis aliquid officia doloribus dolore maiores doloremque mollitia! A ducimus autem ut! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ducimus obcaecati velit autem tenetur doloribus perferendis esse odit animi quasi deserunt recusandae perspiciatis a sapiente aliquam qui libero dolor officiis assumenda. </div> </div> 这是 javascript: const slideTitles = Array.from(document.querySelectorAll('.slide-title')); let activeClasses = [] slideTitles.forEach(function(el){ el.addEventListener('click',function(){ if(activeClasses.length>0){ activeClasses[0].classList.remove('active') activeClasses[0].firstElementChild.getElementsByTagName('i')[0].classList.replace('ion-chevron-up','ion-chevron-down') //activeClasses[0].firstElementChild.lastElementChild.classList.replace('ion-chevron-up','ion-chevron-down') activeClasses = [] } this.parentElement.classList.add('active') this.lastElementChild.classList.replace('ion-chevron-down','ion-chevron-up') activeClasses.push(this.parentElement) }) }) 这个实现在 chrome、firefox opera 中运行良好(我目前无法在 Safari 上测试它),但在 Edge 中我遇到一些问题:首先,当单击幻灯片时,宽度首先递增,然后位置(显然没有过渡效果),这种情况也会在 codepen 中发生,但在我的实现中,删除 classList 函数似乎不起作用:因为如果我单击另一张卡,之前选择的卡仍处于活动位置,并且不会上去吧。 classList 实现似乎可以在 Edge 中使用,而且我编写的代码也可以在其他浏览器中使用.. 我用Edge几乎没有问题,但在与Opera mobile战斗几天后发现: classList 属性 可能 如果元素在 HTML 代码中没有“class”属性,则返回 null 而不是空列表。 如果它不为空,.remove()方法可能会中止脚本执行,如果指定的类名不在classList返回的列表中,所以我必须检查这一点,然后它开始工作: if (element.classList.contains("className")) element.classList.remove("className"); 类似.add()方法可能会添加两次类名,所以.remove()只删除一个,还剩下另一个,所以我不得不添加类似于第2点的检查。 (与 Edge 相关)CSS 规则可能 比 JavaScript 添加/修改的类或样式具有更高的优先级。 我知道第 1 - 3 点与规范相矛盾,但看起来也像某些浏览器的实现。

回答 1 投票 0

如何清除 Vaadin CSS 缓存?

我只想针对应用程序中的 2 个不同角色优化 Applayout 中抽屉的宽度。我有正确的 CSS 来做到这一点,但开发时间太长,因为 Vaadi...

回答 1 投票 0

有没有办法调整网络浏览器窗口的大小,使其尺寸达到特定的宽度和高度?

我需要使用特定尺寸查看网页,而不必一直调整网络浏览器窗口的大小。

回答 2 投票 0

DartPad 在 Chrome 和 Edge 中显示白屏并出现 WebAssembly 错误

说明: 最近,当我在 Google Chrome 中访问 DartPad 时,屏幕全白。 错误消息: 使用 Chrome DevTools,我发现了以下错误消息: 创建上下文失败!斯夸...

回答 1 投票 0

Div 元素在浏览器中超出父 div

我正在制作一个货币兑换网站(作为大学作业),我在这里面临这个荒谬的问题。 这是我的整个代码: @import url('https://fonts.googleapis.com/css2?family=Popp...

回答 1 投票 0

我已经验证了扩展程序的 json 文件。但该图标没有显示在边缘。我该如何解决这个问题?

我之前的问题。 答案很有帮助,但我仍然遇到图标问题。 它在边缘仅显示为拼图图标,但我需要更改其图标。 图标: 我已经验证过了...

回答 1 投票 0

如何让扩展程序或选项卡在浏览器中使用无限量的 RAM

我已经使用 ChatGPT 很长时间了,我想保留我的提示的离线副本。我遇到了一个名为“ExportGPT”的扩展,它可以让我将聊天内容导出为 PDF、Word...

回答 1 投票 0

到底如何关闭地址栏边缘搜索?

我真的找不到关闭地址栏搜索的方法。我只想转到我输入的绝对地址。我知道在前面添加 http:// 可以做到这一点。但不,我只想要一个仅方法类型...

回答 2 投票 0

如何从命令提示符关闭 Microsoft Edge 浏览器的当前选项卡?

>启动microsoft-edge:http://google.com 它在边缘浏览器新选项卡中打开了 google.com。现在我想关闭。在这里我使用了 stop 但它不起作用。 >停止 microsoft-edge:http://google.com

回答 5 投票 0

Selenium Edge Python 错误在测试执行后自动关闭 Edge 浏览器

我正在尝试测试 selenium 以获取自动登录网站的解决方案,但我什至无法让 Selenium 保持打开状态。它做了现在应该做的事情,然后在没有医生的情况下立即退出......

回答 4 投票 0

Chrome 通过 Windows 命令提示符打印到 PDF

我正在尝试将网页打印为 PDF,但截至本周仍无法正常工作。我正在使用 Chrome,但它也无法与 Edge 配合使用。 “C:\Program Files (x86)\Google\Chrome\Applicatio

回答 0 投票 0

无法让 Firebase Cloud Messaging 在 Android 上的 Edge 浏览器上运行FCM测试</tit...</desc> <question vote="1"> <p>所以,我编写了一段简单的代码:</p> <p>前端:</p> <pre><code><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>FCM TEST</title> </head> <body> <p id="token" style="padding-left: 50px"></p> <script src="https://www.gstatic.com/firebasejs/10.7.0/firebase-app-compat.js"></script> <script src="https://www.gstatic.com/firebasejs/10.7.0/firebase-messaging-compat.js"></script> <script> const firebaseConfig = { apiKey: "XXXXX", authDomain: "XXXXX", projectId: "XXXXX", messagingSenderId: "XXXXX", appId: "XXXXX", }; firebase.initializeApp(firebaseConfig); const messaging = firebase.messaging(); if ("serviceWorker" in navigator) { navigator.serviceWorker .register("/firebase-messaging-sw.js") .then(function (registration) { console.log( "Registration successful, scope is:", registration.scope ); Notification.requestPermission() .then(function () { console.log("Notification Permission"); let serviceWorkerRegistration = { vapidKey: "XXXXX", }; if (registration) { console.log("included registration"); serviceWorkerRegistration = { ...serviceWorkerRegistration, ServiceWorkerRegistration: registration, }; } return messaging .getToken(serviceWorkerRegistration) .then((token) => { if (token) { console.log("Token: ", token); document.getElementById("token").innerHTML = token; } else { // Show permission request. console.log( "No Instance ID token available. Request permission to generate one." ); } }); }) .catch(function (reason) { console.error(reason); }); messaging.onMessage((payload) => { console.log( "[firebase-messaging-sw.js] Received foreground message ", payload ); // Customize notification here const notificationTitle = payload.data.title; const notificationOptions = { body: payload.data.body, // icon: "/firebase-logo.png", }; registration.showNotification( notificationTitle, notificationOptions ); }); }) .catch(function (err) { console.log("Service worker registration failed, error:", err); }); } </script> </body> </html> </code></pre> <p>我的 firebase-messaging-sw.js:</p> <pre><code>importScripts( "https://www.gstatic.com/firebasejs/10.7.0/firebase-app-compat.js" ); importScripts( "https://www.gstatic.com/firebasejs/10.7.0/firebase-messaging-compat.js" ); const firebaseConfig = { apiKey: "XXXXX", authDomain: "XXXXX", projectId: "XXXXX", messagingSenderId: "XXXXX", appId: "XXXXX", }; firebase.initializeApp(firebaseConfig); const messaging = firebase.messaging(); messaging.onBackgroundMessage((payload) => { console.log( "[firebase-messaging-sw.js] Received background message ", payload ); // Customize notification here const notificationTitle = payload.data.title; const notificationOptions = { body: payload.data.body, // icon: "/firebase-logo.png", }; self.registration.showNotification(notificationTitle, notificationOptions); }); </code></pre> <p>在后端,我制作了一个简单的 Node Express 服务器,您可以在其中从 FE 发送 FcmToken。 (确实需要复制 fcm 令牌并将其粘贴到 Postman 中)。</p> <pre><code>import { initializeApp, cert, applicationDefault } from "firebase-admin/app"; import { getMessaging } from "firebase-admin/messaging"; import express, { json } from "express"; import "dotenv/config"; import cors from "cors"; const app = express(); app.use(express.json()); app.use( cors({ origin: "*", methods: ["GET", "POST", "DELETE", "UPDATE", "PUT", "PATCH"], }) ); app.use(function (req, res, next) { res.setHeader("Content-Type", "application/json"); next(); }); initializeApp({ credential: applicationDefault(), }); app.post("/send", function (req, res) { const receivedTokens = req.body.fcmTokens; console.log("receivedToken", req.body.fcmTokens); const message = { data: { title: req.body.title, body: req.body.body, }, tokens: receivedTokens, }; getMessaging() .sendEachForMulticast(message) .then((response) => { res.status(200).json({ message: "Successfully sent message", token: receivedTokens, }); }) .catch((error) => { res.status(400); res.send(error); console.log("Error sending message:", error); }); }); app.get("/ping", function (req, res) { console.log("process env: ", process.env.GOOGLE_APPLICATION_CREDENTIALS) res.status(200).json({ message: "Successfully pinged test", file: process.env.GOOGLE_APPLICATION_CREDENTIALS, }); }); app.listen(3000, function () { console.log("Server started on port 3000"); }); </code></pre> <p>这段代码实际上适用于以下测试用例:</p> <ul> <li>Chrome Windows</li> <li>边缘窗口</li> <li>Chrome 安卓</li> <li>Chrome Mac 操作系统</li> <li>Edge Mac 操作系统</li> </ul> <p>它<strong>不</strong>工作的唯一测试用例是<strong>Android 上的Edge</strong>。我的 Android 上的 Edge 版本是 120.0.2210.64</p> <p>此外,也许值得注意的是,Android 上的 Edge 中的 onMessage 函数在其他任何地方都<strong>不</strong>被调用。</p> <p>有人知道为什么吗?或者也许有解决方案?我是不是做错了什么?</p> <p>提前致谢。</p> </question> <answer tick="false" vote="0"> <p>我也有同样的问题。 如果相同的代码在不同的浏览器上运行并且令牌正确,则您可能正在使用另一个应用程序的相同域或子域。</p> <p>示例:<br/> 如果您有一个带有 <a href="https://xxx.example.com/app1" rel="nofollow noreferrer">https://xxx.example.com/app1</a> 且带有推送通知的页面。如果您在 <a href="https://xxx.example.com/app2" rel="nofollow noreferrer">https://xxx.example.com/app2</a> 添加新应用程序,Edge 将无法管理通知(2024 年 8 月)。</p> <p>如果打开通知选项,Edge 将显示一条消息:“通知已在 app1 上设置”。我不知道为什么。也许是因为 FCM 的 Service Worker 位于根文件夹中?或者只是因为 Edge 无法在同一域或子域上拥有多个应用程序?</p> <p>要解决这个问题,必须创建多个子域:<br/> <a href="https://app1.example.com" rel="nofollow noreferrer">https://app1.example.com</a> 和 <a href="https://app2.example.com" rel="nofollow noreferrer">https://app2.example.com</a></p> <p>此时 Edge 将在您的 Android 上添加“app1”作为推送通道。</p> </answer> </body></html>

所以,我编写了一段简单的代码: 前端: FCM测试</tit...</desc> <question vote="1"> <p>所以,我编写了一段简单的代码:</p> <p>前端:</p> <pre><code><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>FCM TEST</title> </head> <body> <p id="token" style="padding-left: 50px"></p> <script src="https://www.gstatic.com/firebasejs/10.7.0/firebase-app-compat.js"></script> <script src="https://www.gstatic.com/firebasejs/10.7.0/firebase-messaging-compat.js"></script> <script> const firebaseConfig = { apiKey: "XXXXX", authDomain: "XXXXX", projectId: "XXXXX", messagingSenderId: "XXXXX", appId: "XXXXX", }; firebase.initializeApp(firebaseConfig); const messaging = firebase.messaging(); if ("serviceWorker" in navigator) { navigator.serviceWorker .register("/firebase-messaging-sw.js") .then(function (registration) { console.log( "Registration successful, scope is:", registration.scope ); Notification.requestPermission() .then(function () { console.log("Notification Permission"); let serviceWorkerRegistration = { vapidKey: "XXXXX", }; if (registration) { console.log("included registration"); serviceWorkerRegistration = { ...serviceWorkerRegistration, ServiceWorkerRegistration: registration, }; } return messaging .getToken(serviceWorkerRegistration) .then((token) => { if (token) { console.log("Token: ", token); document.getElementById("token").innerHTML = token; } else { // Show permission request. console.log( "No Instance ID token available. Request permission to generate one." ); } }); }) .catch(function (reason) { console.error(reason); }); messaging.onMessage((payload) => { console.log( "[firebase-messaging-sw.js] Received foreground message ", payload ); // Customize notification here const notificationTitle = payload.data.title; const notificationOptions = { body: payload.data.body, // icon: "/firebase-logo.png", }; registration.showNotification( notificationTitle, notificationOptions ); }); }) .catch(function (err) { console.log("Service worker registration failed, error:", err); }); } </script> </body> </html> </code></pre> <p>我的 firebase-messaging-sw.js:</p> <pre><code>importScripts( "https://www.gstatic.com/firebasejs/10.7.0/firebase-app-compat.js" ); importScripts( "https://www.gstatic.com/firebasejs/10.7.0/firebase-messaging-compat.js" ); const firebaseConfig = { apiKey: "XXXXX", authDomain: "XXXXX", projectId: "XXXXX", messagingSenderId: "XXXXX", appId: "XXXXX", }; firebase.initializeApp(firebaseConfig); const messaging = firebase.messaging(); messaging.onBackgroundMessage((payload) => { console.log( "[firebase-messaging-sw.js] Received background message ", payload ); // Customize notification here const notificationTitle = payload.data.title; const notificationOptions = { body: payload.data.body, // icon: "/firebase-logo.png", }; self.registration.showNotification(notificationTitle, notificationOptions); }); </code></pre> <p>在后端,我制作了一个简单的 Node Express 服务器,您可以在其中从 FE 发送 FcmToken。 (确实需要复制 fcm 令牌并将其粘贴到 Postman 中)。</p> <pre><code>import { initializeApp, cert, applicationDefault } from "firebase-admin/app"; import { getMessaging } from "firebase-admin/messaging"; import express, { json } from "express"; import "dotenv/config"; import cors from "cors"; const app = express(); app.use(express.json()); app.use( cors({ origin: "*", methods: ["GET", "POST", "DELETE", "UPDATE", "PUT", "PATCH"], }) ); app.use(function (req, res, next) { res.setHeader("Content-Type", "application/json"); next(); }); initializeApp({ credential: applicationDefault(), }); app.post("/send", function (req, res) { const receivedTokens = req.body.fcmTokens; console.log("receivedToken", req.body.fcmTokens); const message = { data: { title: req.body.title, body: req.body.body, }, tokens: receivedTokens, }; getMessaging() .sendEachForMulticast(message) .then((response) => { res.status(200).json({ message: "Successfully sent message", token: receivedTokens, }); }) .catch((error) => { res.status(400); res.send(error); console.log("Error sending message:", error); }); }); app.get("/ping", function (req, res) { console.log("process env: ", process.env.GOOGLE_APPLICATION_CREDENTIALS) res.status(200).json({ message: "Successfully pinged test", file: process.env.GOOGLE_APPLICATION_CREDENTIALS, }); }); app.listen(3000, function () { console.log("Server started on port 3000"); }); </code></pre> <p>这段代码实际上适用于以下测试用例:</p> <ul> <li>Chrome Windows</li> <li>边缘窗口</li> <li>Chrome 安卓</li> <li>Chrome Mac 操作系统</li> <li>Edge Mac 操作系统</li> </ul> <p>它<strong>不</strong>工作的唯一测试用例是<strong>Android 上的Edge</strong>。我的 Android 上的 Edge 版本是 120.0.2210.64</p> <p>此外,也许值得注意的是,Android 上的 Edge 中的 onMessage 函数在其他任何地方都<strong>不</strong>被调用。</p> <p>有人知道为什么吗?或者也许有解决方案?我是不是做错了什么?</p> <p>提前致谢。</p> </question> <answer tick="false" vote="0"> <p>我也有同样的问题。 如果相同的代码在不同的浏览器上运行并且令牌正确,则您可能正在使用另一个应用程序的相同域或子域。</p> <p>示例:<br/> 如果您有一个带有 <a href="https://xxx.example.com/app1" rel="nofollow noreferrer">https://xxx.example.com/app1</a> 且带有推送通知的页面。如果您在 <a href="https://xxx.example.com/app2" rel="nofollow noreferrer">https://xxx.example.com/app2</a> 添加新应用程序,Edge 将无法管理通知(2024 年 8 月)。</p> <p>如果打开通知选项,Edge 将显示一条消息:“通知已在 app1 上设置”。我不知道为什么。也许是因为 FCM 的 Service Worker 位于根文件夹中?或者只是因为 Edge 无法在同一域或子域上拥有多个应用程序?</p> <p>要解决这个问题,必须创建多个子域:<br/> <a href="https://app1.example.com" rel="nofollow noreferrer">https://app1.example.com</a> 和 <a href="https://app2.example.com" rel="nofollow noreferrer">https://app2.example.com</a></p> <p>此时 Edge 将在您的 Android 上添加“app1”作为推送通道。</p> </answer> </body></html>

回答 0 投票 0

Selenium IE 驱动程序启动浏览器窗口并超时。疑似边缘“防跟踪”干扰

我有一个使用 Selenium 来自动化一些数据收集的应用程序。截至上周,我的 IE 驱动程序代码已停止工作。我使用IE Driver,因为我交互的设备都使用IE8,我...

回答 1 投票 0

我需要一个脚本来更改ms Edge的起始页

我的问题是如何使用脚本或类似的东西更改 ms Edge 的起始站点。 (Powershell脚本是最好的)我只找到了这个并且它可以工作,但普通用户无法更改...

回答 1 投票 0

在 Python 中使用 Selenium 打开 URL 后,Edge 浏览器立即关闭

我正在尝试使用 Selenium 和 Edge 浏览器自动执行任务。 但是,运行我的脚本后,网页打开然后立即关闭。我尝试使用 #time.sleep() 来保持浏览...

回答 1 投票 0

使用缩放 CSS 时的 Edge 浏览器问题

我在视频上有一个滚动杰克,可以使用 css 变换缩放视频容器。它在所有浏览器上都能正常工作,但是在 IE 和 Edge 中它会进行缩放变换,但视频会变成像素...

回答 3 投票 0

Chrome 内存占用量攀升至 3.554 GB,尽管 JS 堆内存为 20 MB

我的应用程序由一个表组成,该表长时间接收和显示实时数据,因此不断在 DOM 中创建和销毁表行。 我注意到那里...

回答 1 投票 0

通过扩展API访问Chromium浏览器中的历史记录

我目前正在开发一个扩展,它将为标准 Edge 历史页面提供更好的替代方案。为了访问历史记录,我使用了 chrome.history,正如我之前所想的那样,它解决了我的

回答 1 投票 0

使用 selenium 接受 Edge 上的麦克风和摄像头权限

我正在 Edge 浏览器上运行 selenium 脚本。其中一项功能需要在两个窗口之间发起音频或视频呼叫。在 chrome 中,我们可以在 chrome 中使用 'use-fake-ui-for-media-stream'

回答 2 投票 0

从可移植可执行(PE)文件中提取/解析资源

我想使用官方程序以编程方式在 Windows 中安装 Edge MSI Edge 安装程序(151 MB),但避免使用管理员权限,并将提取的文件放在自定义文件夹中(n...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.