【问题标题】:Javascript file won't load using laragon (ERR_ABORTED 404 (Not Found))无法使用 laragon 加载 Javascript 文件(ERR_ABORTED 404(未找到))
【发布时间】:2023-03-21 01:29:01
【问题描述】:

我无法使用/访问 carousel.js 文件 - GET http://name.test/js/carousel.js net::ERR_ABORTED 404(未找到)

front-page.php

    <div class="row">
        <div class="col-lg-4">
            <div class="carousel_item carousel_item--visible">first post</div>
        </div>
        <div class="col-lg-4">
            <div class="carousel_item">second post</div>
        </div>
        <div class="col-lg-4">
            <div class="carousel_item">third post</div>
        </div>
    </div>

    <div class="carousel_actions">
        <button id="carousel_button--prev" aria-label="previous slide">
            <
        </button>
        <button id="carousel_button--next" aria-label="next slide">
            >
        </button>
    </div>
</div>
<script type="text/javascript" src="js/carousel.js"></script>""

JS代码:

let slidePosition = 0;
const slides = document.getElementsByClassName('carousel_item');
const totalSlides = slides.length;

document.getElementById('carousel_button--next').addEventListener("click", function() {
    moveToNextSlide();
});

document.getElementById('carousel_button--prev').addEventListener("click", function() {
    moveToPrevSlide();
});

function moveToNextSlide() {
    console.log('next works');
}

function moveToPrevSlide() {
    console.log('prev works');
}

functions.php

function load_js(){

    wp_enqueue_script('jquery');
    wp_register_script('bootstrap', get_template_directory_uri() . '/js/bootstrap.min.js', 'jquery', false, true);
    wp_enqueue_script('bootstrap');
    wp_register_script('carousel', get_template_directory_uri() . '/js/carousel.js');
    wp_enqueue_script('carousel');
}
add_action('wp_enqueue_scripts', 'load_js');

文件结构

.
├── js
│   ├── bootstrap.min.js
│   └── carousel.js
├── index.php
├── front-page.php
└── functions.php

(那里还有其他文件,仅包括重要的文件以便于概览)

我很确定我输入了 carousel.js 文件的正确路径,谁能告诉我这里有什么问题?

【问题讨论】:

  • 好像是wordpress。一个问题,我想你在 fuctions.php 中加载了 js。但是为什么你应该在 html 中加载 carouse.js?
  • 好问题,我现在已将其删除并收到此错误:未捕获的 TypeError: Cannot read properties of null (reading 'addEventListener')

标签: javascript php wordpress wordpress-theming laragon


【解决方案1】:

1- 在您的 front-page.php 文件中,删除 script tag。 (即&lt;script type="text/javascript" src="js/carousel.js"&gt;&lt;/script&gt;)。您的 wp_enqueue_script 函数会负责将其加载到页面上!

2- 你也不需要那些wp_register_script 函数!在您的 functions.php 文件中删除它们!

3- 在functions.php 文件中,将以下 sn-p 替换为您自己的:

add_action('wp_enqueue_scripts', 'load_js');

function load_js()
{
  wp_enqueue_script('jquery');
  wp_enqueue_script('bootstrap', get_theme_file_uri('/js/bootstrap.min.js'), 'jquery', 1.0, true);
  wp_enqueue_script('carousel', get_theme_file_uri('/js/carousel.js'), NULL, 1.0, true);
}

这些应该可以为您解决问题!

当您加载页面时,右键单击它并查看源代码。您应该能够找到加载到源中的bootstrapcarousel

让我知道你是否可以让它工作!

【讨论】:

【解决方案2】:

所以如果你使用 Laravel,你需要使用 webpack.mix.js 来集成你的 JS

【讨论】:

  • 如果文件链接正确则不需要。
  • 但链接是否正确?顺便说一句,它的 laragon,而不是 laravel。我应该试试 xampp 吗?
猜你喜欢
  • 2020-12-30
  • 2020-08-27
  • 2020-11-03
  • 1970-01-01
  • 1970-01-01
  • 2020-01-20
  • 2021-12-19
  • 1970-01-01
  • 2022-12-04
相关资源
最近更新 更多