gpt4 book ai didi

javascript - Chrome扩展开发从javascript关闭打开的窗口

转载 作者:行者123 更新时间:2023-11-28 01:52:54 25 4
gpt4 key购买 nike

在开发 chrome 扩展程序时,我设法通过在 javascript 文件中使用此代码来打开一个新选项卡

myWindow=window.open("www.google.com");

我可以在打开它后立即关闭它:

myWindow.close();

我尝试了几种 JavaScript 方法,让它在关闭前等待几秒钟,但如果我这样做,它就不会关闭。也许是因为它丢失了窗口的 id?我不知道。我刚刚开始学习 Chrome 扩展开发。

[编辑]我正在提交我必须帮助你们的所有代码。我提醒您,我正在尝试开发一个 Chrome 扩展程序,当我单击由我的扩展程序创建的工具栏上的按钮时,就会发生该操作。 (代码取自此处:http://developer.chrome.com/extensions/getstarted.html)

HTML 文件

<!doctype html>
<html>
<head>
<title>Getting Started Extension's Popup</title>
<style>
body {
min-width: 357px;
overflow-x: hidden;
}

img {
margin: 5px;
border: 2px solid black;
vertical-align: middle;
width: 75px;
height: 75px;
}
</style>
<script src="popup.js"></script>
</head>
<body>
</body>
</html>

list

{
"manifest_version": 2,

"name": "myExtension",
"description": "This extension is under development",
"version": "1.0",

"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": ["www.google.com"]
}

最佳答案

您似乎是通过扩展程序的弹出窗口执行此操作。弹出窗口在失去焦点时会关闭,所以我的猜测是,当您的新窗口获得焦点时,它的执行环境正在被破坏。因此您在那里设置的任何延迟事件都无法执行。

您的弹出窗口似乎是一个空窗口,它唯一做的就是打开该窗口。在这种情况下,您不需要定义弹出窗口。您可以使用 chrome.browserAction.onClicked event 从后台页面执行此操作.

如果您确实需要从弹出窗口启动操作,您可以在后台页面中定义一个函数,并使用 chrome.runtime.getBackgroundPage(function(w){w.yourFunction();}) 调用它。 .

另外,请记住,在扩展中您有 chrome.windowschrome.tabs可用的 API。

关于javascript - Chrome扩展开发从javascript关闭打开的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19483624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com