Javascript 如何在外部Js文件中链接公共目录

Javascript 如何在外部Js文件中链接公共目录,javascript,php,laravel,laravel-5,Javascript,Php,Laravel,Laravel 5,在我的前端,我可以通过“资产”显示我的公共目录。在这里,当用户在图像上悬停时,它应该显示我通过外部JS文件显示的其他图像。但在外部Js文件中,我不能通过资产指示公共目录。我该怎么做 <a href="https://www.facebook.com/" target="_blank"> <img id="facebook-icon" src="{{asset('frontEnd/images/icon/facebook-icon.svg')}

在我的前端,我可以通过“资产”显示我的公共目录。在这里,当用户在图像上悬停时,它应该显示我通过外部JS文件显示的其他图像。但在外部Js文件中,我不能通过资产指示公共目录。我该怎么做

  <a href="https://www.facebook.com/" target="_blank">
                <img id="facebook-icon" src="{{asset('frontEnd/images/icon/facebook-icon.svg')}}">
    </a>
这里有一个陷阱

您可以使用绝对路径来实现这一点

$(document).ready(function(){
$('#facebook-icon').hover(function(){
        $(this).attr('src','http://www.example.com/images/icon/facebook-hover-icon.svg');
        }, function(){
        $(this).attr('src','http://www.example.com/images/icon/facebook-icon.svg');
    });
 });

您必须在布局中(如果可能的话)定义javascript中的基本url,如下所示:

<script type="text/javascript">
var BASE_URL = {!! json_encode(url('/')) !!}
</script>
或者无论你想做什么,都需要你网站的基本url

<script type="text/javascript">
var BASE_URL = {!! json_encode(url('/')) !!}
</script>
$(document).ready(function(){
   $('#facebook-icon').hover(function(){
            $(this).attr('src',BASE_URL+'images/icon/facebook-hover-icon.svg');
            }, function(){
            $(this).attr('src',BASE_URL+'images/icon/facebook-icon.svg');
        });
     });