[英]Lightbox include images via URL
我有一个使用URL重写的网站,因此我必须直接引用资源,而不是通过相对URL。 我通常通过将网站网址附加到href的开头来实现。
例:
<script src="<?php echo SITE_URL ?>lightbox/js/lightbox.js"></script>
问题是在lightbox.js中,图像相对加载:
function LightboxOptions() {
this.fileLoadingImage = 'images/loading.gif';
this.fileCloseImage = 'images/close.png';
this.resizeDuration = 700;
this.fadeDuration = 500;
this.labelImage = "Image";
this.labelOf = "of";
}
我意识到我可以这样做:
this.fileLoadingImage = 'http://www.example.com/images/loading.gif';
但这与我从上下文中抽象资源的想法不太吻合。 我想要它,所以如果我在配置文件中修改站点URL,它也将显示在lightbox.js文件中。 我不懂Javascript,所以这让我感到沮丧。
更可接受的是:
this.fileLoadingImage = site_url + '/images/loading.gif';
其中site_url根据config.php反映当前URL。 如何获取SITE_URL常量到javascript文件?
您可以设置一个虚拟主机 ,将其指向包含index.php的项目文件夹(您的公用文件夹),然后将所有引用更改为绝对引用(即this.fileLoadingImage = '/images/loading.gif'
/ this.fileLoadingImage = '/images/loading.gif'
)。
我相信这就是许多框架所做的。
过去,如果我需要一个由php临时生成的javascript变量,则可以将其直接放在scripts.php文件中的新<script>
标记中:
<script src ="/js/jquery.js"></script>
...
<script>
var SITE_URL = <?php echo $site_url; ?>;
</script>
尽管我不确定这是一个很好的做法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.