首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Greasemonkey关闭窗口

使用Greasemonkey关闭窗口
EN

Stack Overflow用户
提问于 2010-12-15 18:35:19
回答 1查看 1.7K关注 0票数 1

我一直在为Chrome (作为一个扩展)写一个Greasemonkey脚本,以便在Facebook上使用。我知道Greasemonkey是沙箱的,至少就Firefox而言,除非你在浏览器中改变设置,否则你不能用脚本关闭窗口。然而,我知道大多数浏览器允许父窗口关闭子窗口,而不需要用户的确认。无论如何,我正在尝试让我的脚本打开一个窗口,从HTML对象中抓取一段文本,然后在按下页面上的一个按钮后关闭窗口。

我打开窗口的代码如下所示:

代码语言:javascript
复制
function birthday(linkAddress) {
var winNew=window.open(linkAddress, "_blank", "height=100", "width=100");
/*code to be run on page*/
    winNew.close()
}

窗口打开得很好,但我在Chrome中得到了一个javascript错误,说“无法调用未定义的方法'close‘”。我假设我的对象与Greasemonkey沙箱有关,但我不知道是什么问题。在Chrome中使用Greasemonkey脚本关闭窗口是可能的吗?是否需要启用某些设置?或者是我的代码错了?请记住,这段代码是从主窗口页面中的函数运行的,我在脚本中使用编写到该页面的按钮的onClick事件将该函数设置为等于该函数。此外,任何有关访问子页面上的DOM元素的技巧都将不胜感激。

谢谢你的帮助!

(抱歉,我是个新手,而且还不熟悉编程,而且这是我第一次编写Greasemonkey脚本)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-16 12:31:53

发布的代码片段是不充分的,并且与“按下页面上的按钮即可关闭窗口”的声明操作不匹配。

因此,最好的猜测是close函数在birthday() (定义winNew的地方)之外,或者未显示的代码中的某些东西导致了问题。

另一个警告是,您需要知道Greasemonkey脚本也可能在子窗口上触发--这取决于打开子窗口时是否指定了URL /指定了什么URL。

下面的示例代码可以在按下按钮时打开和关闭一个子窗口:

See it in action at jsfiddle

代码语言:javascript
复制
<html>
<head>
<script type="text/javascript">
    var chldWnd;

    function OpenChldWin ()
    {
        //chldWnd = window.open ("http://www.google.com");
        chldWnd = window.open ('','','height=200, width=200');
        chldWnd.document.write ('<p>My New Window</p>');    //-- Don't do if opening a URL in new window.
        chldWnd.focus();
    }

    function CloseChldWin ()
    {
        if (chldWnd.closed)
            alert ('Child window was already closed.');
        else
        {
            chldWnd.close ();
            alert ('Child window is NOW closed.');
        }
    }
</script>
</head>
<body>
<input type="button" value="Open Child Window"      onclick="OpenChldWin ()">
<input type="button" value="Close the Child Window" onclick="CloseChldWin ()">
</body>
</html>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4448973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档