Bootstrap的javascript在本地工作,但在部署到服务器时则不行

时间:2012-08-27 09:48:22

标签: javascript jquery twitter-bootstrap web-deployment css-frameworks

我下载了Twitter的bootstrap的准系统示例并对其进行了定制。我在本地进行了测试(使用WAMP服务器),一切都运行得很好,包括CSS和JScript。

我将文件上传到我的虚拟主机服务,但JScript无效。我注意到了,因为下拉框停止工作。

我搜索并发现其他人有同样的问题,但他们都使用红宝石,我不是。只是bootstrap提供的CSS + JScript游戏。除此之外他们说解决方案是先包含bootstrap.js然后再包含jquery.js。好吧,我尝试过它并没有用,我甚至包括了没有缩小的.js但仍然没有用。

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

非常感谢帮助。


其他类似问题:

10 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:3)

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

答案 2 :(得分:2)

我遇到了同样的问题。在IE中,该站点正在使用localhost,但在托管在其他服务器上时却没有。添加以下元标记修复了它。

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

答案 3 :(得分:1)

之前我遇到过类似的问题。 tabs函数在我的HTML站点中工作正常,但在编码为Wordpress主题时不起作用。所有源URL都是使用Wordpress动态生成的。

当我添加所有JS链接时,标签最终开始工作(除了Modernizr而不是标题。

答案 4 :(得分:1)

返回基础:如果在本地计算机上将Debug设置为true而在部署环境中设置为false,请确保您的.min.js文件不会覆盖您对非缩小版本的自定义.js文件(也适用于.css)。

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

答案 5 :(得分:1)

我有完全相同的问题,所以很高兴找到这篇文章和其他人喜欢它。我的决议很相似。我把头发拉了半天尝试所有不同的东西。走了狗。喝了六打啤酒。睡在上面。吃过早饭。重新修复了顶部的样式表,以及从本地html到服务器php的底部的js,然后由于某种未知的原因它再次开始工作。唯一对其他人来说有用的点是:

  • 尝试并回到工作场景 - 在我的情况下,index.html正在服务器而不是index.php。获得这些完全相同是关键。
  • 尝试使用不同的浏览器以防万一有什么奇怪的事情发生。
  • 确保您不断清除浏览器缓存(例如,右键点击Chrome中的重新加载按钮,然后选择“清空缓存和硬重新加载”)
  • 检查您的bootstrap css和js版本。在版本中向前和向后更改它们,直到您获得成功。很可能,你的bootstrap主题下载附带的版本最有可能工作。

答案 6 :(得分:1)

晚些时候参加聚会,但我发现我的问题是在部署期间没有推出 Bootstrap.js

答案 7 :(得分:0)

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

答案 8 :(得分:0)

我在我构建并上传到Amazon S3的网站上遇到了这个问题。在我的本地计算机甚至我的本地服务器上工作得很好,但是从亚马逊服务时却没有用。 Firefox(但不是Chrome)中的控制台显示它无法加载bootstrap.min.css(et.al),因为它们的MIME类型不是text / css。

我不得不使用S3控制台强制将其类型更改为text / css,清除缓存和重新加载。瞧!

答案 9 :(得分:0)

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

上一个:

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

更改为:

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