- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Google Page Speed 我可以看到 Jquery UI 和 Jquery 以及其他 js 库似乎被加载了多次,即使我只在我的页面中包含它们一次:
我怎样才能避免这种情况?
更新
我的代码如下所示(我删除了 html 的主要部分,留下了所有 javascript 内容):
<!doctype html>
<html lang="en" class="no-js" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#"
xmlns:fb="http://www.facebook.com/2008/fbml" >
<head id="hdHead"><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /><title>
My Page
</title>
<!--Utils-->
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="Mysite" /><meta name="viewport" content="width=980,initial-scale=1.0,maximum-scale=1.0,user-scalable=yes" />
<!-- For iPhone 4 with high-resolution Retina display: -->
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/css/touch/gfx/hs-icons/h/apple-touch-icon.png" />
<!-- For first-generation iPad: -->
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/css/touch/gfx/hs-icons/m/apple-touch-icon.png" />
<!-- For non-Retina iPhone, iPod Touch, and Android 2.1+ devices: -->
<link rel="apple-touch-icon-precomposed" href="/css/touch/gfx/hs-icons/l/apple-touch-icon-precomposed.png" />
<!-- For nokia devices: -->
<link rel="shortcut icon" href="/css/touch/gfx/hs-icons/l/apple-touch-icon.png" /><link rel="shortcut icon" href="/css/gfx/favicon.ico" />
<!-- W3C way of 2005 for XHTML1.0 http://www.w3.org/2005/10/howto-favicon -->
<link rel="icon" type="image/png" href="/css/gfx/myspot.ico" />
<!--Styles-->
<link href="/plugins/jqueryui/css/custom-theme/jquery-ui-1.8.13.custom.css" rel="stylesheet" type="text/css" /><link rel="stylesheet" href="/css/desktop/myspot.min.css?v=2803" />
<!--[if lt IE 9]>
<link rel="stylesheet" href="/css/desktop/myspotoldie.css?v=0114" />
<![endif]-->
<!--[if IE]>
<link rel="stylesheet" href="/css/desktop/myspotie.css?v=0114" />
<![endif]-->
<!--scripts (more in page bottom-->
<script src="/scripts/libs/modernizr-1.7.min.js" type="text/javascript"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"
type="text/javascript"></script>
<script type="text/javascript">
if (typeof jQuery == 'undefined') {
console.log("no jquery");
document.write(unescape('%3Cscript src="/scripts/libs/jquery-1.7.min.js"%3E%3C/script%3E'));
}
if (typeof jQuery.ui == 'undefined') {
console.log("no jquery ui");
document.write(unescape('%3Cscript src="plugins/jqueryui/jquery-ui-1.8.11.min.js"%3E%3C/script%3E'));
}
var defText = 'Restaurant ved åen...';
</script>
<script src="/scripts/desktop/behavior.min.js?v=2803" type="text/javascript"></script>
<script type="text/javascript" src="/scripts/libs/jquery.cookie.js"></script>
<!--do not move recordOutboundLink to bottom -->
<script type='text/javascript'>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
(function () {
var gads = document.createElement('script');
gads.async = true;
gads.type = 'text/javascript';
var useSSL = 'https:' == document.location.protocol;
gads.src = (useSSL ? 'https:' : 'http:') +
'//www.googletagservices.com/tag/js/gpt.js';
var node = document.getElementsByTagName('script')[0];
node.parentNode.insertBefore(gads, node);
})();
</script>
<script type='text/javascript'>
googletag.cmd.push(function () {
googletag.defineSlot('/1025597/Place_main_bottom', [468, 60], 'div-gpt-ad-1328824112752-0').addService(googletag.pubads());
googletag.defineSlot('/1025597/Place_sidebar_bottom', [160, 600], 'div-gpt-ad-1328824112752-1').addService(googletag.pubads());
googletag.defineSlot('/1025597/Place_sidebar_middle', [234, 60], 'div-gpt-ad-1328824112752-2').addService(googletag.pubads());
googletag.defineSlot('/1025597/Search_main_bottom', [468, 60], 'div-gpt-ad-1328824112752-3').addService(googletag.pubads());
googletag.defineSlot('/1025597/Search_sidebar_1', [234, 60], 'div-gpt-ad-1328824112752-4').addService(googletag.pubads());
googletag.defineSlot('/1025597/Search_sidebar_2', [234, 60], 'div-gpt-ad-1328824112752-5').addService(googletag.pubads());
googletag.defineSlot('/1025597/Search_sidebar_3', [234, 60], 'div-gpt-ad-1328824112752-6').addService(googletag.pubads());
googletag.defineSlot('/1025597/Search_sidebar_4', [234, 60], 'div-gpt-ad-1328824112752-7').addService(googletag.pubads());
googletag.defineSlot('/1025597/Search_sidebar_5', [234, 60], 'div-gpt-ad-1328824112752-8').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>
<script type="text/javascript">
//Tabs
jQuery(document).ready(function () {
jTabs = jQuery("#tabs").tabs({
select: function (event, ui) {
try {
var newhasharr = ui.tab.toString().split("#");
window.location.hash = newhasharr[1];
}
catch (err) {
}
}
});
LoadTabFromHash();
function LoadTabFromHash() {
try {
var hash = window.location.hash.replace('#', '');
if (hash != '') {
jTabs.tabs("select", hash);
}
}
catch (err) {
}
}
jQuery(".jclickatab").click(function (ev) {
ev.preventDefault();
var hash = jQuery(this).attr("href").replace("#", "");
if (hash != '') {
jTabs.tabs("select", hash)
}
});
});
</script>
<script type="text/javascript" src="http://yandex.st/jquery/fancybox/1.3.4/jquery.fancybox.min.js"></script>
</head>
<body>
<form method="post" action="/mypage" onsubmit="javascript:return WebForm_OnSubmit();" id="Form1">
<div class="aspNetHidden">
</div>
<script type="text/javascript">
//<![CDATA[
function WebForm_OnSubmit() {
ChangeColourOfInvalidControls();
return true;
}
//]]>
</script>
<div id="fb-root">
</div>
<script type="text/javascript">
window.fbAsyncInit = function () {
FB.init({
appId: '139505527456',
channelUrl: '//www.myspot.dk/channel.html',
status: true,
cookie: true,
xfbml: true
});
};
// Load the SDK Asynchronously
(function (d) {
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) { return; }
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/da_DK/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
} (document));
</script>
<div id="container" class="placepage">
<!-- AddThis Buttons BEGIN -->
<div class="addthis_toolbox addthis_default_style addthis_32x32_style">
<a class="addthis_button_facebook_like" fb:like:layout="button_count" fb:like:width="105">
</a>
</div>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style">
<a class="addthis_button_google_plusone"></a>
</div>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=myspot"></script>
<!-- AddThis Buttons END -->
</div>
<script>
jQuery(document).ready(function () {
TidyUpPlaceImages();
jQuery(".mainplacepix a").fancybox({
'type': 'image',
'transitionIn': 'elastic',
'transitionOut': 'elastic',
'speedIn': 600,
'speedOut': 200,
'titlePosition': 'over',
'overlayShow': false,
'showNavArrows': true
});
});
function TidyUpPlaceImages() {
var mainImageHeight = jQuery(".mainplacepix a:first").height();
var thumbsHeight = 0;
jQuery(".mainplacepix a:gt(0)").each(function (index) {
thumbsHeight += jQuery(this).height();
if (thumbsHeight <= mainImageHeight) {
jQuery(this).show();
}
else {
return;
}
});
}
</script>
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery('#txtReviewBody').keyup(function(event) {
if(jQuery(this).val().length>50 && !jQuery('#reviewparametercontainer').is(":visible")) {
jQuery('#reviewparametercontainer').slideDown();
_gaq.push(['_trackEvent', 'Reviews', 'LenghtAbove50', 'empty']);
}
}).blur(function() {
if(jQuery(this).val().trim().length<1) {
jQuery('#reviewparametercontainer').slideUp();
_gaq.push(['_trackEvent', 'Reviews', 'BlurWithoutWriting', 'empty']);
}
});
jQuery(".writeReviewDatePicker").datepicker(
{
maxDate: new Date()
});
})
</script>
<script type="text/javascript">
var reviewErrorMess = 'Some error';
var ratingErrorMess = 'Some error';
var reviewScriptErrorMess = 'Some error';
function validateReviewForm() {
var imValid = true;
var reviewlength = jQuery('#txtReviewBody').val().length;
var myspotrating = jQuery('#rating input[type="hidden"]').val().length;
if (reviewlength < 2) {
setErrorFeedbackToTheRight(jQuery('#txtReviewBody'), reviewErrorMess);
imValid = false;
}
else {
if (jQuery('#txtReviewBody').val().indexOf('<') > -1) {
setErrorFeedbackToTheRight(jQuery('#txtReviewBody'), reviewScriptErrorMess);
imValid = false;
}
}
if (rating < 1) {
setErrorFeedbackToTheRight(jQuery('#rating'), ratingErrorMess);
imValid = false;
}
return imValid;
}
jQuery(document).ready(function () {
jQuery('#ratingmyspot.error').live('click', function () {
removeErrorFeedback(jQuery(this));
});
jQuery('textarea.error').live('keyup', function () {
removeErrorFeedback(jQuery(this));
});
jQuery('#ddlTypes').change(function (ev) {
FilterReviewParams(jQuery(this).val());
});
FilterReviewParams(jQuery('#ddlTypes').val());
});
function FilterReviewParams(categoryId) {
var selector = '#reviewParameters .ratingcontrol.' + categoryId;
var jAll = jQuery('#reviewParameters .ratingcontrol:visible');
if (jAll.length > 0) {
jAll.hide({
duration: 1000,
complete: function () {
jQuery(selector).show(1000);
}
});
}
else {
jQuery(selector).show(1000);
}
}
</script>
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery('#listOfOffers input[type="submit"]').button();
if (jQuery(".offersFromDateTimePicker").length > 0) {
jQuery(".offersFromDateTimePicker").datetimepicker({
onSelect: function (selectedDate, sender) {
setMinDateTime(selectedDate, ".offersEndDateTimePicker");
}
});
var minDate = jQuery(".offersFromDateTimePicker").val();
jQuery(".offersEndDateTimePicker").datetimepicker({
minDate: minDate
});
}
});
</script>
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery('#placepageevents input[type="submit"]').button();
if (jQuery(".eventsFromDateTimePicker").length > 0) {
jQuery(".eventsFromDateTimePicker").datetimepicker({
onSelect: function (selectedDate, sender) {
setMinDateTime(selectedDate, ".eventsEndDateTimePicker");
}
});
var minDate = jQuery(".eventsFromDateTimePicker").val();
jQuery(".eventsEndDateTimePicker").datetimepicker({
minDate: minDate
});
}
});
</script>
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery(".aboutplaceimages a").fancybox({
'type': 'image',
'transitionIn': 'elastic',
'transitionOut': 'elastic',
'speedIn': 600,
'speedOut': 200,
'titlePosition': 'over',
'overlayShow': false,
'showNavArrows': true
});
});
</script>
</footer>
<script src="/scripts/libs/jquery.highlightFade.js" type="text/javascript"></script>
<script src="/plugins/jqueryui/jquery-ui-timepicker-addon.js" type="text/javascript"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="/scripts/desktop/mygmap.js"></script>
<script type="text/javascript" src="/scripts/desktop/place.min.js?v=0310a"></script>
</script>
<script type='text/javascript'>
jQuery.ajax({
url: 'http://demo.easyrec.org:8080/api-js/easyrec.js',
dataType: "script",
success: function () {
if (typeof (easyrec_sendAction) != "undefined") {
easyrec_sendAction("view",
{
itemId: "48863",
itemUrl: "/mypage",
itemDescription: "Mypage",
});
}
}
});
</script>
<link rel="stylesheet" href="/plugins/jquery.fancybox-1.3.4/fancybox/jquery.fancybox-1.3.4.css"
type="text/css" media="screen" />
<script src="/plugins/jqueryui/jquery.ui.datepicker-da.js" type="text/javascript"></script>
<script type="text/javascript" src="/scripts/libs/jquery.lazyload.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery("img.lazy").lazyload();
});
</script>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['Form1'];
if (!theForm) {
theForm = document.Form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
</form>
</body>
</html>
谢谢,
托马斯
最佳答案
显然您正在使用/加载多个版本的 jquery、jquery-ui 等,这绝对是次优的
例如:
此外,以下 block 似乎已过时,因此请尝试将其删除并从您的服务器而不是从谷歌加载 js 文件。
<script type="text/javascript">
if (typeof jQuery == 'undefined') {
console.log("no jquery");
document.write(unescape('%3Cscript src="/scripts/libs/jquery-1.7.min.js"%3E%3C/script%3E'));
}
if (typeof jQuery.ui == 'undefined') {
console.log("no jquery ui");
document.write(unescape('%3Cscript src="plugins/jqueryui/jquery-ui-1.8.11.min.js"%3E%3C/script%3E'));
}
var defText = 'Restaurant ved åen...';
</script>
您正在使用许多第 3 方库,所以我不能保证它们也加载 jquery
关于javascript - 避免多次加载 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10006655/
在带有 jQuery 的 CoffeeScript 中,以下语句有什么区别吗? jQuery ($) -> jQuery -> $ - > 最佳答案 第一个与其他两个不同,就像在纯 JavaScr
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭13 年前。 Improve th
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
这个问题可能听起来很愚蠢,但请耐心等待,因为我完全是初学者。我下载了两个 jQuery 版本,开发版本和生产版本。我想知道作为学习 jQuery 的初学者,什么更适合我。 最佳答案 如果您对 jQue
The documentation说要使用 1.6.4,但我们现在已经升级到 1.7.2。 我可以在 jQuery Mobile 中使用最新版本的 jQuery 吗? 最佳答案 您当然可以,但如果您想
我在这里看到这个不错的 jquery 插件:prettyphoto jquery lightbox有没有办法只用一个简单的jquery来实现这样的效果。 我只需要弹出和内联内容。你的回复有很大帮助。
很明显我正在尝试做一些 jQuery 不喜欢的事情。 我正在使用 javascript 上传图片。每次上传图片时,我都希望它可见,并附加一个有效的删除脚本。显示工作正常,删除则不然,因为当我用 fir
这两个哪个是正确的? jQuery('someclass').click(function() { alert("I've been clicked!"); }); 或 jQuery('somec
我正在寻找一个具有以下格式的插件 if (jQuery)(function ($) { -- plugin code -- })(jQuery); 我明白 (function ($)
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭10 年前。 Improv
我知道这个问题已经被问过几次了,但想知道您是否可以帮助我解决这个问题。 背景:我尝试创建一个使用 Ajax 提交的表单(jQuery 表单提交)。我已经工作得很好,然后我想在表单上得到验证。我可以使用
我正在使用无处不在的jquery validate plugin用于表单验证。它支持使用metadata plugin用于向表单元素添加验证规则。 我正在使用此功能。当验证查找这些规则时,它会对元素进
我更喜欢为我一直在开发的网络社区添加实用的视觉效果,但随着事情开始堆积,我担心加载时间。 拥有用户真的更快吗加载(希望是缓存的)副本来自 Google 存储库的 jquery? 是否使用 jQuery
这个问题已经有答案了: Slide right to left? (17 个回答) 已关闭 9 年前。 你能告诉我有没有办法在 jQuery 中左右滑动而不使用 jQuery UI 和 jQuery
我如何找出最适合某种情况的方法?任何人都可以提供一些示例来了解功能和性能方面的差异吗? 最佳答案 XMLHttpRequest 是原始浏览器对象,jQuery 将其包装成一种更有用和简化的形式以及跨浏
运行时 php bin/console oro:assets:build ,我有 11 个这样的错误: ERROR in ../node_modules/jquery-form/src/jquery.
我试图找到 jQuery.ajax() 在源代码中的定义位置。但是,使用 grep 似乎不起作用。 在哪里? 谢谢。 > grep jQuery.ajax src/* src/ajax.js:// B
$.fn.sortByDepth = function() { var ar = []; var result = $([]); $(this).each(function()
我的页面上有多个图像。为了检测损坏的图像,我使用了在 SO 上找到的这个。 $('.imgRot').one('error',function(){ $(this).attr('src','b
我在理解 $ 符号作为 jQuery 函数的别名时遇到了一些麻烦,尤其是在插件中。你能解释一下 jQuery 如何实现这种别名:它如何定义 '$' 作为 jQuery 函数的别名?这是第一个问题。 其
我是一名优秀的程序员,十分优秀!