繁体   English   中英

灯箱广告通过网址包含图片

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM