Javascript未按正确的顺序加载
Javascript not loaded correcly order?
我有一个网页,我在标题中加载了一些javascript文件。一些子页面将加载其他JavaScript文件。在主页上,一切都很好,但在子页面上,我收到了很多这样的异常:
未捕获的类型错误:对象 [对象对象] 的属性"$"不是 功能
我可以看到这个异常在 HTML 页面本身中详细发生.js、voteHandler.js 和 4 次。异常总是在此行上引发:
$("document").ready(function () {
这是工作的主页的样子:
<head>
<script type="text/javascript" src=/Scripts/jquery-1.7.1.min.js></script>
<script type="text/javascript">
//URL for voting
var _postVoteUrl = 'http://localhost:5215/Post/Vote'
//URL for tags
var _tagsUrl = 'http://localhost:5215/Post/Tags'
//Keep track of if a cascading is loading, if so, cancel submits
var cascadingControlLoading = false;
window.latestClick = '';
function IsNotDblClick(objectID) {
if (window.latestClick != objectID &&
!cascadingControlLoading) {
window.latestClick = objectID;
return true;
} else {
return false;
}
}
$(document).ready(function () {
if($('#rightCon').text().trim().length < 1)
{$('#rightCon').hide();}
});
</script>
<script type="text/javascript" src=/Scripts/jquery-ui-1.8.20.min.js>"></script>
<script type="text/javascript" src=/Scripts/jquery.elastic.source.js></script>
<script type="text/javascript" src=/Scripts/jquery.validate.min.js></script>
<script type="text/javascript" src=/Scripts/jquery.validate.unobtrusive.min.js></script>
<script type="text/javascript" src=/Scripts/jquery.qtip.min.js></script>
<script type="text/javascript" src=/Scripts/formhandler.js></script>
<script type="text/javascript" src=/Scripts/taghandler.js></script>
<script src="/Scripts/voteHandler.js"></script>
<script type="text/javascript" src=/Scripts/select2.min.js %>"></script>
<script>
function TogglePostCon() {
$('#postListEditorCon').toggle();
}
SetupTagTextBox("txtTagBox", false);
SetupTagTextBoxPersonalTag("txtPersonalTagBox", true);
SetupTagTextBoxPersonalTag("txtPersonalIgnoreTagBox", true);
</script>
<script src="/Scripts/modernizr-2.5.3.js"></script>
</head>
这是抛出异常的子页面:
<head>
<script type="text/javascript" src=/Scripts/jquery-1.7.1.min.js></script>
<script type="text/javascript">
//URL for voting
var _postVoteUrl = 'http://localhost:5215/Post/Vote'
//URL for tags
var _tagsUrl = 'http://localhost:5215/Post/Tags'
//Keep track of if a cascading is loading, if so, cancel submits
var cascadingControlLoading = false;
window.latestClick = '';
function IsNotDblClick(objectID) {
if (window.latestClick != objectID &&
!cascadingControlLoading) {
window.latestClick = objectID;
return true;
} else {
return false;
}
}
$(document).ready(function () {
if($('#rightCon').text().trim().length < 1)
{$('#rightCon').hide();}
});
</script>
<script type="text/javascript" src=/Scripts/jquery-ui-1.8.20.min.js>"></script>
<script type="text/javascript" src=/Scripts/jquery.elastic.source.js></script>
<script type="text/javascript" src=/Scripts/jquery.validate.min.js></script>
<script type="text/javascript" src=/Scripts/jquery.validate.unobtrusive.min.js></script>
<script type="text/javascript" src=/Scripts/jquery.qtip.min.js></script>
<script type="text/javascript" src=/Scripts/formhandler.js></script>
<script type="text/javascript" src=/Scripts/taghandler.js></script>
<script src="/Scripts/details.js"></script>
<script src="/Scripts/voteHandler.js"></script>
<script>
$(function () {
//Google +1
$.getScript("http://apis.google.com/js/plusone.js", null, true);
//Twitter
$.getScript("http://platform.twitter.com/widgets.js", null, true);
//Facebook
$.getScript("http://connect.facebook.net/en_US/all.js#xfbml=1", function () {
$('body').append('<div id="fb-root"></div>');
FB.init({ status: true, cookie: true, xfbml: true });
}, true);
});
</script>
<script src="/Scripts/modernizr-2.5.3.js"></script>
</head>
我之前在正文底部加载了一些脚本,这并没有产生异常,但从我读到的内容来看,这不是推荐的方法。
那么为什么我的子页面会生成这些异常呢?
在"no-confict"模式下,$ 快捷方式不可用,并且使用较长的 jQuery,即
jQuery(document).ready(function ($) {
通过在函数调用后的括号中包含 $,您可以在代码块中使用此快捷方式。
替换您的代码
$(document).ready(function () {
if($('#rightCon').text().trim().length < 1)
{$('#rightCon').hide();}
});
有了这个
jQuery(document).ready(function ($) {
if($('#rightCon').text().trim().length < 1)
{$('#rightCon').hide();}
});
相关文章:
- 使用Require.js按照依赖关系的顺序加载JavaScript
- 如何确保coffeescript按顺序加载
- 使用webcomponenetsjs的HTMLImports以意外的执行顺序加载导入-firefox
- zend按顺序加载js文件
- Angular + Requirejs - 以错误的顺序加载
- Javascript 文件以不需要的顺序加载
- Django 模板似乎没有以正确的顺序加载 Backbone.js
- 按顺序加载脚本.js和使用.js
- 让 html 和 javascript 在 rails 中以正确的顺序加载
- 从 JavaScript 代码中按顺序加载 JavaScript
- 如何使用 HTML/javascript 以预定义的顺序加载图像
- kineticJS按顺序加载图像(并设置fillPatternImg)不透明度补间不起作用
- 按gulp / browserify顺序加载javascript插件
- Javascript未按正确的顺序加载
- Javascript承诺以相反的顺序加载
- 按顺序加载图像,有延迟,无脚本回退
- 脚本未按顺序加载
- RequireJS和依赖于按特定顺序加载的脚本
- 顺序加载fadeIn效果与Javascript和jQuery
- 可以Promise按顺序加载多个url