Javascript 尝试在greasemonkey中获取背景图像文件大小

Javascript 尝试在greasemonkey中获取背景图像文件大小,javascript,css,greasemonkey,background-image,Javascript,Css,Greasemonkey,Background Image,我想用javascript/greasemonkey获取提交按钮背景图像的文件大小 另外,我不想重新加载页面或对图像进行新调用。因为图像在每次加载时都是不同的 图像每次都不一样,只有名称和url是:D 很抱歉/ 谢谢大家,我自己解决了剩下的问题:) 函数文件大小(url){ // http://kevin.vanzonneveld.net //+原件:恩里克·冈萨雷斯 //+输入人:Jani Hartikainen //+改进者:凯文·范·佐内维尔德(http://kevin.vanzonnev

我想用javascript/greasemonkey获取提交按钮背景图像的文件大小

另外,我不想重新加载页面或对图像进行新调用。因为图像在每次加载时都是不同的

图像每次都不一样,只有名称和url是:D
很抱歉/

谢谢大家,我自己解决了剩下的问题:)


函数文件大小(url){
// http://kevin.vanzonneveld.net
//+原件:恩里克·冈萨雷斯
//+输入人:Jani Hartikainen
//+改进者:凯文·范·佐内维尔德(http://kevin.vanzonneveld.net)
//+改进:T.Wild
//%1注意:此函数使用XmlHttpRequest,无法从其他域检索资源。
//%1注:同步so可能会锁定浏览器,主要用于学习目的。
//*示例1:文件大小('http://kevin.vanzonneveld.net/pj_test_supportfile_1.htm');
//*返回1:'3'
var req=this.window.ActiveXObject?新的ActiveXObject(“Microsoft.XMLHTTP”):新的XMLHttpRequest();
如果(!req){抛出新错误('XMLHttpRequest不受支持');}
请求打开('HEAD',url,false);
请求发送(空);
if(!req.getResponseHeader){
试一试{
抛出新错误('No getResponseHeader!');
}捕获(e){
返回false;
}
}else if(!req.getResponseHeader('Content-Length')){
试一试{
抛出新错误('无内容长度!');
}渔获物(e2){
返回false;
}
}否则{
返回请求getResponseHeader('Content-Length');
}
}
输入[type=“submit”]{
背景图片:url(“images/button_submit.gif”);
}
document.write(文件大小($('input[type=“submit”]).css(“背景图像”).match(/url\(\”(.*)\”\)/)[1]);
“我不想重新加载页面或对图像进行新调用。因为每次加载的图像都不同。”

如果不再次调用服务器,就无法在JavaScript或Greasemonkey中获取此信息。您需要编写自己的附加组件/扩展,以便在第一次调用时以编程方式获得该附加组件/扩展

不过,您现在可以看到背景图像、文件大小。只需右键单击页面,选择查看页面信息(Firefox),然后单击媒体选项卡


此外,您还可以安装。它可以显示图像信息,包括BG图像、文件大小。

你能用你的尝试发布一些代码吗?问题不清楚。您是真的想要按钮控件的文件大小,还是真的想要上传的文件大小?前者可以使用浏览器工具(您使用的是什么浏览器?)。后者可以通过查看本地文件系统来实现。如果两者都没有,那么使用GM就没有意义了,除非你想把这个脚本偷偷带到别人的机器上?我想要按钮背景图像的文件大小。(无需重新加载页面)谢谢,这对我帮助很大:)这也帮助我找到了解决方案,可惜这是不可能的。
<script type="text/javascript">
    function filesize (url) {
        // http://kevin.vanzonneveld.net
        // +   original by: Enrique Gonzalez
        // +      input by: Jani Hartikainen
        // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
        // +   improved by: T. Wild
        // %        note 1: This function uses XmlHttpRequest and cannot retrieve resource from different domain.
        // %        note 1: Synchronous so may lock up browser, mainly here for study purposes.
        // *     example 1: filesize('http://kevin.vanzonneveld.net/pj_test_supportfile_1.htm');
        // *     returns 1: '3'

        var req = this.window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
        if (!req) {throw new Error('XMLHttpRequest not supported');}

        req.open('HEAD', url, false);
        req.send(null);

        if (!req.getResponseHeader) {
            try {
                throw new Error('No getResponseHeader!');
            } catch (e){
                return false;
            }
        } else if (!req.getResponseHeader('Content-Length')) {
            try {
                throw new Error('No Content-Length!');
            } catch (e2){
                return false;
            }
        } else {
            return req.getResponseHeader('Content-Length');
        }
    }
</script>

<style type="text/css">
    input[type="submit"] {
        background-image: url("images/button_submit.gif");
    }
</style>

<body>
    <input type="submit" value="Submit">
</body>

<script type="text/javascript">
    document.write(filesize($('input[type="submit"]').css("background-image").match(/url\(\"(.*)\"\)/)[1]));
</script>