我创建了一个具有流行主题之一的woocommerce wordpress商店。 它在我的mac上的localhost上工作正常。我创建了一个新的ec2实例(AMI)并将我的站点迁移到它。我已按照所有说明正确迁移网站。(数据库更改,文件夹权限等)
当我打开网站时,我的主题不会应用。它只是看起来破碎了。 当我在chrome / safari中检查开发人员工具时,我在javascript控制台中得到以下错误。
[Error] TypeError: a(document).on is not a function. (In 'a(document).on', 'a(document).on' is undefined)
(anonymous function) (add-to-cart.min.js:4:89)
resolveWith (jquery.min.js:16:14217)
ready (jquery.min.js:16:9208)
y (jquery.min.js:16:13685)
进一步调试和比较服务器与localhost的视图源,似乎很少有jquery脚本不从服务器的html中发出,但它们存在于localhost中。 服务器html中缺少的脚本很少:
<script type='text/javascript' src='http://localhost:8888/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1'></script>
...
...
<script type="text/javascript">
jQuery(function($){
$('#main-slider .bx-slider').slick({
dots: true,
arrows: false,
speed: 1000,
fade: false,
cssEase: 'linear',
autoplaySpeed:7000,
autoplay:true,
adaptiveHeight:true,
infinite:true,
draggable: true,
});
});
</script>
缺少另一个jquery部分 ,但在localhost上出现的是:
<script>
jQuery(document).ready(function($){
$('#ticker').ticker({
speed: 0.10, // The speed of the reveal
ajaxFeed: false, // Populate jQuery News Ticker via a feed
feedUrl: false, // The URL of the feed
// MUST BE ON THE SAME DOMAIN AS THE TICKER
//feedType: 'xml', // Currently only XML
htmlFeed: true, // Populate jQuery News Ticker via HTML
debugMode: true, // Show some helpful errors in the console or as alerts
// SHOULD BE SET TO FALSE FOR PRODUCTION SITES!
controls: true, // Whether or not to show the jQuery News Ticker controls
titleText: 'Latest News', // To remove the title set this to an empty String
displayType: 'reveal', // Animation type - current options are 'reveal' or 'fade'
direction: 'ltr', // Ticker direction - current options are 'ltr' or 'rtl'
fadeInSpeed: 900, // Speed of fade in animation
fadeOutSpeed: 300,
pauseOnItems: 3000, // The pause on a news item before being replaced
});
});
</script>
有人可以帮助理解可能导致丢失jQuery脚本的这种行为的原因。
注意:ec2实例中的wp-includes / js包含localhost中的所有文件。