Security 使用Greasemonkey脚本安装其他用户脚本

Security 使用Greasemonkey脚本安装其他用户脚本,security,installation,greasemonkey,browser-security,Security,Installation,Greasemonkey,Browser Security,是否可以创建可以管理其他用户脚本的Greasemonkey脚本? 我想编写一个userscript,在给定userscript URL列表的情况下,自动安装一组其他userscript。不,这是不可能的。如果是的话,那将是一个巨大的安全漏洞 您所能做的最好是为每个脚本触发安装对话框,并让用户决定是否要安装脚本 如果您想办法绕过这些限制,请让我们知道,以便我们可以立即关闭它 触发下载对话框: 获取直接下载URL。 例如,例如: 下载URL为: http://userscripts.org/s

是否可以创建可以管理其他用户脚本的Greasemonkey脚本?

我想编写一个userscript,在给定userscript URL列表的情况下,自动安装一组其他userscript。

不,这是不可能的。如果是的话,那将是一个巨大的安全漏洞

您所能做的最好是为每个脚本触发安装对话框,并让用户决定是否要安装脚本

如果您想办法绕过这些限制,请让我们知道,以便我们可以立即关闭它



触发下载对话框:

  • 获取直接下载URL。
    例如,例如:

    下载URL为:
    http://userscripts.org/scripts/source/26062.user.js

  • 然后,您的脚本将通过使用
    获取该URL来触发Greasemonkey安装对话框

    下面是一个完整的Greasemonkey脚本,它演示了:

    // ==UserScript==
    // @name     _Auto popup Greasemonkey Script Install Dialog
    // @include  http://YOUR_SERVER.COM/YOUR_PATH/*
    // @include  http://stackoverflow.com/faq
    // @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
    // @grant    GM_addStyle
    // ==/UserScript==
    
    var scriptJS_URL    = "http://userscripts.org/scripts/source/26062.user.js";
    
    $("body").append (
        '<iframe src="' + scriptJS_URL + '" class="gmImstallIframe"></iframe>'
    );
    
    GM_addStyle ( "                                 \
        iframe.gmImstallIframe {                    \
            width:                  1px;            \
            height:                 1px;            \
            border:                 none;           \
        }                                           \
    " );
    
    /==UserScript==
    //@name\u自动弹出Greasemonkey脚本安装对话框
    //@包括http://YOUR_SERVER.COM/YOUR_PATH/*
    //@包括http://stackoverflow.com/faq
    //@需要http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
    //@grant GM_addStyle
    //==/UserScript==
    var scriptJS_URL=”http://userscripts.org/scripts/source/26062.user.js";
    $(“正文”)。附加(
    ''
    );
    GM_addStyle(“\
    iframe.gmImstallIframe{\
    宽度:1px\
    高度:1px\
    边界:无\
    }                                           \
    " );
    

  • 重要提示:目前,Greasemonkey(约1.5版)似乎存在一个bug。“安装”按钮起作用,但对于跨域脚本,“显示脚本源”按钮似乎已被禁用


  • 不,这是不可能的。如果是的话,那将是一个主要的安全漏洞

    您所能做的最好是为每个脚本触发安装对话框,并让用户决定是否要安装脚本

    如果您想办法绕过这些限制,请让我们知道,以便我们可以立即关闭它



    触发下载对话框:

  • 获取直接下载URL。
    例如,例如:

    下载URL为:
    http://userscripts.org/scripts/source/26062.user.js

  • 然后,您的脚本将通过使用
    获取该URL来触发Greasemonkey安装对话框

    下面是一个完整的Greasemonkey脚本,它演示了:

    // ==UserScript==
    // @name     _Auto popup Greasemonkey Script Install Dialog
    // @include  http://YOUR_SERVER.COM/YOUR_PATH/*
    // @include  http://stackoverflow.com/faq
    // @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
    // @grant    GM_addStyle
    // ==/UserScript==
    
    var scriptJS_URL    = "http://userscripts.org/scripts/source/26062.user.js";
    
    $("body").append (
        '<iframe src="' + scriptJS_URL + '" class="gmImstallIframe"></iframe>'
    );
    
    GM_addStyle ( "                                 \
        iframe.gmImstallIframe {                    \
            width:                  1px;            \
            height:                 1px;            \
            border:                 none;           \
        }                                           \
    " );
    
    /==UserScript==
    //@name\u自动弹出Greasemonkey脚本安装对话框
    //@包括http://YOUR_SERVER.COM/YOUR_PATH/*
    //@包括http://stackoverflow.com/faq
    //@需要http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
    //@grant GM_addStyle
    //==/UserScript==
    var scriptJS_URL=”http://userscripts.org/scripts/source/26062.user.js";
    $(“正文”)。附加(
    ''
    );
    GM_addStyle(“\
    iframe.gmImstallIframe{\
    宽度:1px\
    高度:1px\
    边界:无\
    }                                           \
    " );
    

  • 重要提示:目前,Greasemonkey(约1.5版)似乎存在一个bug。“安装”按钮起作用,但对于跨域脚本,“显示脚本源”按钮似乎已被禁用


  • 在Firefox中,您可以调用隐藏框架中用户脚本的URL,以流畅地创建分期付款弹出窗口。这是你能得到的最接近的


    无论如何,这对Chrome用户不起作用,而你绕过安装对话框的真正原因当然是不可能的。

    在Firefox中,你可以调用隐藏框架中用户脚本的URL,以流畅地创建安装弹出窗口。这是你能得到的最接近的


    无论如何,Chrome用户都无法使用它,而您绕过安装对话框的真正原因当然是不可能的。

    如果用户脚本可以切换已安装的脚本(用于特定网站),这也会很有用。这个问题给了我一些非常有用的答案。为什么会被否决?如果一个用户脚本可以切换已经安装的脚本(针对特定网站),这也会很有用。这个问题给了我一些非常有用的答案。为什么被否决?你如何在Firefox中调用隐藏框架中的URL?只需将
    附加到用户所在网站的正文中。你如何在Firefox中调用隐藏框架中的URL?只需将
    附加到用户所在网站的正文中。具体来说,如何触发特定脚本的安装对话框?如果可能的话,这将是一个合理的解决方案。Google Chrome不再允许从外部网站安装用户脚本,但可能有办法绕过这一限制:我将设法让此脚本在Google Chrome和Firefox中正常工作。使用
    window.open("http://userscripts.org/scripts/source/26062.user.js“”
    似乎在谷歌Chrome中工作(使用Tampermonkey),但对于Firefox,您建议的方法可能更好。
    window.open
    很好,但它通常会被用户的设置和/或扩展阻止。
    window.open
    、an
    、a可能是唯一的跨浏览器技术。要使用Chrome的iframe技术,您必须……PS:这个问题给出了no表示Chrome或cross browser适用;-“Greasemonkey”标签仅表示Firefox,除非问题或标签中说明了Tampermonkey和/或Chrome。具体来说,如何触发inst