由于出现javascript MIME类型错误,无法加载脚本

时间:2019-05-05 作者:user3615604

我正在尝试让jQuery砌体插件在站点上运行。我已经更新了模板文件,以获得插件需要的适当类。然后我将脚本按如下方式排队:

function masonry_scripts() {
    wp_enqueue_script(\'masonry\');
    wp_enqueue_script( \'masonry-script\', get_template_directory_uri() . \'/assets/js/masonry-script.js\', array(), false, true );
}
add_action( \'wp_enqueue_scripts\', \'masonry_scripts\' );
砌体脚本加载正确,但砌体脚本。js文件没有。我在控制台中遇到以下错误:

即使其MIME类型(“text/html”)不是有效的JavaScript MIME类型,也已加载“../assets/js/masonry script.js?ver=5.1.1”中的脚本。[了解更多信息]加载源为“”的失败http://thewallmarket.local/wp-content/themes/storefront/assets/js/masonry-script.js?ver=5.1.1”.

遗憾的是,我无法提供该网站的链接,因为它是本地开发的。

导致此问题的原因是什么?我如何解决它?

1 个回复
SO网友:Stephan Samuel

此错误意味着您正在加载的资源(本例中为JS文件)应该是JS,而不是HTML。这可能是因为您的路径不正确,或者本地文件不是JS。

很可能,您提供的脚本位于/assets/js/masonry-script.js 不是JS文件或无法作为JS文件加载。看起来您可能找不到文件(重定向到404)。

在两者之间试试这个wp_enqueue_script() 线条:

printf(get_template_directory_uri() . \'/assets/js/masonry-script.js\');
这会将完整路径规范打印到您尝试加载的文件中。查看是否可以加载在单独的浏览器选项卡(或窗口)中打印的URL。您可能需要像这样处理URL:

wp_enqueue_script(\'masonry-script\', untrailingslashit(get_template_directory_uri() . \'/assets/js/masonry-script.js\', [], false, true);
还要检查本地文件的内容,看看它是否真正包含JS。如果没有,您可能需要下载正确的副本。

如果您的项目需求允许并且可用,您可以考虑使用CDN中的jQuery Masonry。

Updated: 父主题与子主题

根据WP code docs 对于get_template_directory_uri(), 如果想要子主题的URL而不是父主题的URL,请使用get_stylesheet_directory_uri() 相反

相关推荐

WordPress传输问题无法找到变量jQuery

当我将WP站点从一个主机移动到另一个主机时。通常我会这样做:使用PHPMyadmin导出数据库使用FileZilla ftp下载文件将数据库导入新数据库使用FileZilla ftp上载文件搜索“旧字符串”并替换“新字符串”Database Search and Replace Script in PHP,通常情况下,站点已启动并运行。然而,最近当我执行这些步骤时,出现了以下错误:要解决此问题,我可以从下载新的wordpress安装Download Wordpress然后它又起作用了。。但还有其他解决方案