无法通过给定路径加载JavaScript文件

时间:2018-06-07 23:45:13

标签: javascript

我正在尝试包含5个我写入HTML文件的javascript文件。

但是,有一条错误消息表明文件无法加载。

源代码:

<html class="gr__2k8dc"><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Toilet partition tool</title>

  <link rel="stylesheet" href="C:\Users\Downloads\3dmodelproject\files\style.css">




  <script src="C:\Users\Downloads\3dmodelproject\files\three.js"></script>
    <script src="C:\Users\Downloads\3dmodelproject\files\STLLoader.js.download"></script>
    <script src="C:\Users\Downloads\3dmodelproject\files\OrbitControls.js.download"></script>
    <script src="C:\Users\Downloads\3dmodelproject\files\resources.js.download"></script>
    <script src="C:\Users\Downloads\3dmodelproject\files\toiletpartition.js.download"></script>



</head>

错误消息:

enter image description here

有任何疑问路径格式有什么问题?谢谢!

3 个答案:

答案 0 :(得分:5)

如其他地方所述,您的路径是绝对路径,而不是相对路径。基本上这意味着,您是否已经对资产的位置(脚本/ css / images /等)进行了硬编码,使得部署网站变得非常困难,或者在本地驱动器上移动站点的位置。

此外,它会导致跨源请求(您看到的实际错误)出现问题。使用相对路径可以解决该问题,因为您保证引用相同的来源。

您在评论中提到,html文件为:C:/Users/Downloads/3dmodelproject/files/Toiletpartitiontool.html

因此,这里的相对位置C:/Users/Downloads/3dmodelproject/files

然后引用

C:\Users\Downloads\3dmodelproject\files\three.js,您只需使用three.js

因此,您的页面应为:

<html class="gr__2k8dc">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
        <title>Toilet partition tool</title>

        <link rel="stylesheet" href="style.css">

        <script src="three.js"></script>
        <script src="STLLoader.js.download"></script>
        <script src="OrbitControls.js.download"></script>
        <script src="resources.js.download"></script>
        <script src="toiletpartition.js.download"></script>
    </head>
    <body>
        <!-- Content here -->
    </body> 
</html>

答案 1 :(得分:0)

原因是只有IE / Windows对C:/

感到满意

尝试将驱动器更改为一系列../

其中每一个都会提升文件夹级别1。最终它将到达驱动器/域的根目录,然后将文件夹下载到您的文件中。根据您运行的位置,html文件将决定要添加多少../。 Linux和Mac不使用Windows驱动器盘符,因此这也与OS兼容。

链接将变为: ../../../../Users/Downloads/3dmodelproject/files/STLLoader.js.download

我90%确定这是你遇到的问题

答案 2 :(得分:-1)

原因可能是您的\,html需要/

但奖金:

您可以将脚本作为index.html的相对路径吗?

使路径像<script src="/3dmodelproject/files/three.js"></script>