强制浏览器忽略缓存 [英] Force browser to ignore cache
问题描述
我的代码裁剪了一张照片。裁剪的照片会不断更换,但浏览器只会加载第一个裁剪。我在网上搜索过,但没有任何效果。我已经在php中添加了随机字符串 - new.jpg?time = t
- 但这可以防止裁剪的图像被保存。我已经包含了
My code crops a photo. The cropped photo is constantly replaced but the browser only ever loads the first crop. I have scoured the web but nothing has worked. I have added random strings to the php - new.jpg?time=t
- but this prevents the cropped image from saving. I have included
<head>
<meta charset="utf-8">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
</head>
但浏览器仍然从缓存中加载。 HTML JavaScript和PHP如下。还有其他任何建议吗?
but the browser still loads from the cache. The HTML JavaScript and PHP follow. Any other suggestions?
<html>
<head>
<title>Image Crop</title>
<style>
body{
margin: 0;
padding: 0;
}
#container{
width: 300px;
}
#box{
position: absolute;
top: 0px;
left: 0px;
width: 100px;
height: 100px;
background: white;
border: 2px solid blue;
opacity: 0.5;
}
#crop_button{
background: #333;
color: #fff;
padding: 5px;
border: 0px;
margin: 5px;
}
#output{
position: absolute;
top: 0px;
left: 300px;
}
</style>
</head>
<body>
<div id="container">
<img src="resized_IMG0934.jpg"/>
<div id="box"></div>
</div>
<div id="output"><image />
</div>
<button id="crop_button">Crop</button>
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script src="index.js"></script>
</body>
</html>
$(function() {
$('#box').draggable({containment: '#container'});
$('#box').resizable({containment: '#container'});
$('#crop_button').click(function(){
var top = $('#box').position().top;
var left = $('#box').position().left;
var width = $('#box').width();
var height = $('#box').height();
$.post('crop.php', {top:top, left:left, width:width, height:height}, function(){
$('#output').html('<img src="new.jpg"/>');
});
});
});
<?php
$dst_x = 0;
$dst_y = 0;
$src_x = $_POST['left']; //crop Start x
$src_y = $_POST['top']; //crop Start y
$dst_w = $_POST['width']; //Thumb width
$dst_h = $_POST['height']; //Thumb height
$src_w = $_POST['width']; //$src_w + $dst_w
$src_h = $_POST['height']; //$src_h + $dst_h
$dst_image = imagecreatetruecolor($dst_w,$dst_h);
$src_image = imagecreatefromjpeg("resized_IMG0934.jpg");
imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h);
imagejpeg($dst_image, "new.jpg");
推荐答案
您有以下选择:
- 添加以下元标记,这将强制不兑现
You have the following choices: - add the following meta tag, this will force not to cash
<meta http-equiv="pragma" content="no-cache" /> which you have already as I see
- 此外,如果要加载新版本的css文件,请执行以下操作:
- 图片相同
< link rel =stylesheettype =text / css
href =mystyle.css?version = {NewVersionOnRequierd}>
< link rel="stylesheet" type="text/css" href="mystyle.css?version={NewVersionOnRequierd}">
< img src="picture.jpg?123" alt="">
这篇关于强制浏览器忽略缓存的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!