Javascript和jQuery在Grails应用程序中停止工作
在我的Grails应用程序中,我遇到了一件非常奇怪的事情,所有Javascript和jQuery都停止了工作,甚至像这样的简单事情也无法工作或执行,我尝试了“清理”和“刷新依赖项”,但没有任何改变:Javascript和jQuery在Grails应用程序中停止工作,javascript,jquery,grails,Javascript,Jquery,Grails,在我的Grails应用程序中,我遇到了一件非常奇怪的事情,所有Javascript和jQuery都停止了工作,甚至像这样的简单事情也无法工作或执行,我尝试了“清理”和“刷新依赖项”,但没有任何改变: <script type="text/javascript"> alert ("Hi"); </script> 警报(“Hi”); 以下是生成的内容: <!DOCTYPE html> <!--[if lt IE 7 ]> <html l
<script type="text/javascript">
alert ("Hi");
</script>
警报(“Hi”);
以下是生成的内容:
<!DOCTYPE html>
<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]-->
<!--[if IE 7 ]> <html lang="en" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]> <html lang="en" class="no-js ie8"> <![endif]-->
<!--[if IE 9 ]> <html lang="en" class="no-js ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!-->
<html lang="en" class="no-js">
<!--<![endif]-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Insert title here</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1">
<link rel="shortcut icon" href="/myApp/assets/FB_favicon.png"
type="image/x-icon">
<link rel="apple-touch-icon"
href="/myApp/assets/apple-touch-icon.png">
<link rel="apple-touch-icon" sizes="114x114"
href="/myApp/assets/apple-touch-icon-retina.png">
<link rel="stylesheet" href="/myApp/assets/main.css?compile=false" />
<link rel="stylesheet" href="/myApp/assets/mobile.css?compile=false" />
<link rel="stylesheet" href="/myApp/assets/application.css?compile=false" />
<script src="/myApp/assets/jquery/jquery-1.11.1.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/assets/jquery.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/assets/JqueryCalender.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/assets/JqueryPaymentPlugin.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/assets/JqueryValidationPlugin.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/assets/adsValidation.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/assets/alertify.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/assets/alertify.min.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/assets/jquery.growl.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/assets/jquery.session.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/assets/photosValidation.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/assets/test.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/assets/utils.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/assets/wordCharacterCounter.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/assets/application.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/js/stripe-v2.js" type="text/javascript"></script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<meta name="layout" content="main"/>
<script type="text/javascript">
$(document).ready(function(){
alert("Hiiii");
});
</script>
</head>
<body>
<div id="grailsLogo" role="banner"><a href="http://grails.org"><img src="/myApp/assets/FB_Logo.png" alt="test"/></a> </div>
<head>
<script src="/myApp/assets/jquery.session.js?compile=false" type="text/javascript" ></script>
</head>
<div style="padding-left: 30px;padding-bottom: 50px;transform:scale(1.5,1.5);transform-origin:0 0;">Languages :
<div id="lang_selector" class="lang_selector">
<a href="/myApp/grails/ads/test.dispatch?lang=ar_EG" title="Change language." class="lang_link">
<span class="lang_flag opacitiy_not_selected">
<img alt="" src="/myApp/static/plugins/lang-selector-0.3/images/flags/png/eg.png" border="0">
</span>
</a>
<a href="/myApp/grails/ads/test.dispatch?lang=en_US" title="Change language." class="lang_link">
<span class="lang_flag ">
<img alt="" src="/myApp/static/plugins/lang-selector-0.3/images/flags/png/us.png" border="0">
</span>
</a>
</div> </div>
<div id='cssmenu'>
<ul class="navbar-nav navbar-right">
<li><a href="/myApp/users/logout">
<b><u>Logout</u></b>
</a></li>
</ul>
</div>
<div class="welcomeMenu"><a href="/myApp/users/edit/1"> Welcome , user </a></div>
<div class="body">
</div>
</div>
<div id="spinner" class="spinner" style="display:none;">Loading…</div>
</body>
</html>
在此处插入标题
$(文档).ready(函数(){
警报(“Hiiii”);
});
语言:
加载和hellip;
是什么导致了这种奇怪的行为?首先要证明JavaScript确实在工作。为此,请将您的测试从
<script type="text/javascript">
$(document).ready(function(){
alert("Hiiii");
});
</script>
$(文档).ready(函数(){
警报(“Hiiii”);
});
。。。到
<script type="text/javascript">
alert("Hiiii");
</script>
警报(“Hiiii”);
该更改将使您的测试绕过jQuery
在验证普通的旧JavaScript是否正常工作后,您可以处理jQuery问题。也就是说,您要加载jQuery两次:
<script src="/myApp/assets/jquery/jquery-1.11.1.js?compile=false" type="text/javascript" ></script>
<script src="/myApp/assets/jquery.js?compile=false" type="text/javascript" ></script>
看起来您已经有了jQuery的第二个副本,资产管道正在收集它。Grails不会导致JavaScript停止工作。jQuery,好的,这是可能的。但不是简单的JavaScript。您尝试过其他web浏览器吗?@EmmanuelRosa,我尝试过Eclipse内部浏览器、Chrome和IE,所有结果都是一样的,请提前发布grails生成的html代码。@EmmanuelRosa我将其添加到原始帖子“警报”(“Hiiii”);”正在工作,以解决第二个问题,因此如何使资产管道仅使用一个jquery,例如jquey 1.11.1找到jquery.js文件并将其删除。删除它们后,我得到了这个“pipeline.DirectiveProcessor,无法定位资产:/jquery”文件?它应该是一个文件:jquery.jsI意味着文件“jquery.js”