Попытка получить размер файла фонового изображения в greasemonkey
Я хотел бы получить размер файла фонового изображения кнопки отправки с помощью javascript / greasemonkey.
Ps Я не хочу перезагружать страницу или делать новые вызовы к изображению. Так как изображение отличается от каждой загрузки.
Изображение не отличается каждый раз, только имя и URL являются:D
Извини за это..:/
Спасибо, все, я решил остальную часть своей проблемы сам:)
2 ответа
<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>
"Я не хочу перезагружать страницу или делать новые вызовы к изображению. Так как изображение отличается от каждой загрузки".
Невозможно получить эту информацию в JavaScript или Greasemonkey без второго обращения к серверу. Вам нужно написать собственное дополнение / расширение, чтобы программно получить это при первом вызове.
Тем не менее, вы можете увидеть background-image, filesize прямо сейчас. Просто щелкните правой кнопкой мыши страницу и выберите View Page Info (Firefox), а затем перейдите на вкладку Media.
Также вы можете установить дополнение для веб-разработчика. Он может отображать информацию об изображении, включая изображение BG, размер файла.