JavaScript 处理和事件侦听器



这是在边缘扩展的上下文中,但它适用于标准JavaScript。

延期必须;

1能够识别何时打开新选项卡。

2将新选项卡替换为指定的 URL 而不是about:blank等。

3在活动选项卡中打开弹出窗口中显示的链接,而不是新链接。

我有这个 JavaScript;

function handleCreated(tab) {
var newTabURL = {url: ''};
browser.tabs.update(newTabURL);
}
browser.tabs.onCreated.addListener(handleCreated);

举个例子。它确实将当前选项卡替换为谷歌,但仅当单击弹出窗口中的链接时。弹出窗口中的链接应该是替换活动选项卡的链接,或者如果用户创建新选项卡,则应将其替换为mycompany.com/newtab.html,例如。

我有一个包含所有内容的未打包示例,因此您可以看到所有代码。若要使用它,必须首先在 MS Edge 中启用开发人员选项(方法如下(,然后才能加载扩展。

处于当前状态的扩展在 UI 中具有代码注释和说明。您可以从此链接中获取当前形式的扩展。您只需要下载并解压缩,然后在 Edge 中load folder。我认为这比我发布所有代码更容易,因为您可以更好地了解元素如何相互交互。

所以总结一下;

1新选项卡应打开,并显示自定义 URLhttps://mycompany.com/newtab.html

2键入Google应重定向至https://gooogle.co.uk。(在地址栏中使用JS添加单词快捷方式(

3从弹出窗口打开的链接应替换弹出窗口可用的活动选项卡,而不是在新选项卡中打开。

它有点工作,我只是在努力让新的选项卡功能工作。这不适用于 MS 存储,因此策略不相关。

在此处下载压缩的扩展文件夹。

默认情况下,MS Edge 会在新选项卡中从弹出窗口打开链接,并且此选项卡不处于活动状态。

例如,如果你有;

<a href="https://google.co.uk"><p>Visit Google</p></a>

该 URL 将在新选项卡中打开。要在 Edge 浏览器中处于活动状态的选项卡中打开 URL,您可以改为执行以下操作,因此实际上这是可能的。

例如,1将元素放在 DIV 中,linked content并在 HTML 中使用<div id="linkedcontent>

2将应触发新选项卡的内容放在 DIV 中。

3使用以下 JavaScript 进行getElementByID,然后使用.onclick替换当前浏览器窗口。

document.getElementById("linkedcontent").onclick = function() {
var LinkedContent = {url: 'https://google.com'};
browser.tabs.update(LinkedContent);
};

这将导致浏览器窗口被指定的 URL 替换。在我的示例中,它是https://google.com.如果您需要多次执行此操作,只需复制代码并将DIV id更改为每个代码的唯一内容,并在 JavaScript 中也反映这一点。

相关内容

  • 没有找到相关文章

最新更新