[英]Any Lightbox for Cross-Domain Iframe
正在大量搜索该主题,但没有解决方案... :(在跨域环境中寻找图片的任何灯箱
预先感谢。
我不确定您在这里要问的是什么,但是如果您要规避跨域JS限制,则可以始终在服务器上创建一个PHP页面(或类似内容),以从另一个域中获取图像并为他们服务。
这是一些jQuery代码,用于更改图像对象的src
属性以显示特定图片。 假设我们要显示图片http://www.someotherdomain.com/images/pictureofbacon.png
: http://www.someotherdomain.com/images/pictureofbacon.png
...。
var urlStr = 'http://www.someotherdomain.com/images/pictureofbacon.png';
//encode the image's url for passing
var url_enc = encodeURIComponent(urlStr);
$('#imageBacon').attr(
'src', 'http://www.yourdomain.com/getPhoto?url=' + url_enc
); //call your php page, passing to it the encode image url
然后,在您的PHP页面中,您可以获取URL并在本地处理图像。 假设您向其传递了有效的图像URL,则该PHP经过测试可以正常工作(需要GD2)。
getPhoto.php
<?php
$url = $_REQUEST['url'];
SendImageToBrowser ($url);
function SendImageToBrowser($file){
$info = getimagesize($file);
$final_width=$info[0];
$final_height=$info[1];
switch ( $info[2] ) {
case IMAGETYPE_GIF:
$image = imagecreatefromgif($file);
break;
case IMAGETYPE_JPEG:
$image = imagecreatefromjpeg($file);
break;
case IMAGETYPE_PNG:
$image = imagecreatefrompng($file);
break;
default:
return false;
}
imagecopyresampled($image_resized, $image, 0, 0, 0, 0, $final_width, $final_height, $width_old, $height_old);
$mime = image_type_to_mime_type($info[2]);
header("Content-type: $mime");
$output = NULL;
switch ( $info[2] ) {
case IMAGETYPE_GIF:
imagegif($image, $output);
break;
case IMAGETYPE_JPEG:
imagejpeg($image, $output);
break;
case IMAGETYPE_PNG:
imagepng($image, $output);
break;
default:
return false;
}
return true;
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.