引导程序's的javascript在本地工作,但在部署到服务器时不能工作

Bootstrap's javascript works locally but not when deployed to a server

本文关键字:工作 部署 不能 服务器 引导程序 javascript      更新时间:2023-09-26

我下载了Twitter引导程序的基本示例并对其进行了自定义。我在本地(使用WAMP服务器)进行了测试,CSS和JScript都运行良好。

我把文件上传到了我的网络托管服务,但JScript就是不起作用。我注意到它是因为下拉框停止工作。

我搜索了其他有同样问题的人,但他们都在使用ruby,而我没有。只是bootstrap提供的play CSS+JScript。此外,他们说解决方案是先包含bootstrap.js,然后再包含jquery.js。我试过了,但没有成功,我甚至包含了未缩小的.js,但仍然没有成功。

我使用相同的浏览器(Chrome)进行本地和远程测试。我还尝试了不同的托管服务,但两者都出现了问题。

非常感谢您的帮助。


其他类似问题:

  • Javascript功能在本地主机上工作,但在部署到Heroku时不工作
  • twitter引导程序下降突然不起作用

问题可能是在jQuery之前加载boosrap.js。在本地,您的浏览器可能使用Jquery的缓存副本,因此它在那里工作,但在您的实时网站上不工作。尝试通过切换代码中的这两行来修复它:

<script src="/code4pt/styles/js/bootstrap.js"></script>
<script src="/code4pt/styles/js/jquery.js"></script>

我知道这很奇怪,但我想我找到了解决方案。以前我使用的是(提供的)jQuery 1.7.2 minimied。现在我将其更改为使用jQuery 1.8.0而不是缩小版。它刚刚开始工作。。。我做的另一件事是将所有文件的编码转换为UTF8(我认为这是真正的问题/解决方案)

我也遇到了同样的问题。在IE中,该站点在本地主机上工作,但在其他服务器上托管时则不工作。添加以下元标签修复了它。

<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 

我也遇到了同样的问题,所以发现这篇帖子和其他人喜欢它,我松了一口气。我的解决方案是相似的。我拔了半天头发,尝试各种各样的东西。遛狗。喝了半打啤酒。睡懒觉,吃早饭。将顶部的样式表和底部的js从本地html重新复制到服务器php,然后由于某种未知的原因,它又开始工作了。对于其他经历同样情况的人来说,唯一有用的点是:

  • 试着回到一个工作场景——在我的例子中,index.html在服务器上工作,而不是index.php
  • 尝试使用不同的浏览器,以防出现奇怪的情况
  • 确保您不断清除浏览器缓存(例如,右键单击Chrome中的重新加载按钮,然后选择"清空缓存并硬重新加载")
  • 检查您的引导css和js版本。在版本中前后更改它们,直到您获得成功。很可能,引导程序主题下载附带的版本是最有可能工作的版本

我以前遇到过模拟程序问题。选项卡功能在我的HTML网站中运行良好,但当编码到Wordpress主题中时就不起作用了。所有的源URLS都是用Wordpress动态生成的。

当我将所有JS链接(Modernizr除外)添加到页脚而不是页眉时,选项卡终于开始工作了。

回到基础:如果Debug在本地机器上设置为true,在部署环境中设置为false,请确保你的.min.JS文件不会覆盖你对.JS文件的非缩小版本所做的自定义(同样适用于.css)。

您也可以在本地计算机上关闭"调试",您应该会看到同样的问题。

派对迟到了,但我发现我的问题是Bootstrap.js在部署过程中没有被推出。

除了@dialex和@Darrell提出的非常有用的建议外,我还要补充一点,如果这些都不起作用,你可以查看你可能链接到的任何代码,即通过require ('page.php');,是否有重复。重复的.js链接往往会导致这些问题。

我在一个构建并上传到AmazonS3的网站上遇到了这个问题。在我的本地机器甚至本地服务器上都能很好地工作,但在亚马逊提供服务时却无法工作。Firefox(但不是Chrome)中的控制台显示无法加载bootstrap.min.css(等),因为它们的MIME类型不是text/css。

我不得不使用S3控制台强制将它们的类型更改为text/css,清除缓存并重新加载。哇!

我正在使用Codeigniter。我通过在config.php.中更改base_url来解决这些问题

上一篇:

$config['base_url'] = 'http://localhost/public_html';

更改为:

$config['base_url'] = 'http://(my intranet server ip adress)/public_html';

也有同样的问题

在我的.html文件中,我有这行

<link th:rel="stylesheet" th:href="@{/webjars/bootstrap/4.0.0-2/css/bootstrap.min.css} "/>

将其更改为此后

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

一切都很好。我猜webjar内部有http,将css链接改为从https开始解决了我的问题