脚本每次都无法加载
Script fails to load each and every time
我使用以下代码加载一个外部 HTML 文件,其中包含名为 Flexisel 的幻灯片脚本的代码:
// ==UserScript==
// @run-at document-start
// ==/UserScript==
$.ajax({
type: "GET",
url: "/JS/jquery.flexisel.js.html",
success: function(){},
dataType: "script",
cache: false
});
$(window).load(function() {
$("#flexisel").flexisel({
visibleItems: 5,
animationSpeed: 1000,
autoPlay: true,
autoPlaySpeed: 2000,
pauseOnHover: true,
enableResponsiveBreakpoints: true,
responsiveBreakpoints: {
portrait: {
changePoint:480,
visibleItems: 1
},
landscape: {
changePoint:640,
visibleItems: 2
},
tablet: {
changePoint:768,
visibleItems: 3
}
}
});
});
当用户首次访问网站或访问他们以前从未访问过的页面时,此代码效果很好。不幸的是,在某些情况下,幻灯片无法加载,例如当用户单击浏览器中的后退按钮时。是否有更可靠的解决方案来确保始终正确加载此代码?
我有以下限制:
我必须使用这种方法,因为我使用的是功能非常有限的自定义电子商务解决方案。例如,我可以使用Tiny MCE上传文件(但仅限于有限的文件类型(。这就是为什么我使用包含JS代码而不是JS文件的HTML文件的原因。
我无法直接控制用于页面的布局或模板。
我可以创建自定义CSS和JavaScript脚本,但我无法控制加载它们的顺序(即我无法将它们放置在页面上(。
JQuery 是默认安装的,所以我可以访问一些功能(我不完全确定哪个版本(。
鉴于这些限制,任何关于加载此代码的更可靠方法的建议都将受到欢迎......
在我看来,问题是您的 ajax 响应可能不会加载,直到您运行脚本,因此 flexisel 插件在执行时不存在(?
在我看来,正确的方法是挂接到文档就绪事件,或者使用速记版本,并在 ajax 响应函数体中加载 flexisel:
$(function() {
$.ajax({
type: "GET",
url: "/JS/jquery.flexisel.js.html",
success: function(){
$("#flexisel").flexisel({
visibleItems: 5,
animationSpeed: 1000,
autoPlay: true,
autoPlaySpeed: 2000,
pauseOnHover: true,
enableResponsiveBreakpoints: true,
responsiveBreakpoints: {
portrait: {
changePoint:480,
visibleItems: 1
},
landscape: {
changePoint:640,
visibleItems: 2
},
tablet: {
changePoint:768,
visibleItems: 3
}
}
});
},
dataType: "script",
cache: false
});
});
如果这不起作用,您仍然可以尝试窗口加载:)
在运行脚本之前每次强制刷新页面
window.location = window.location
相关文章:
- Google Adsense多次加载脚本
- 如何准确执行加载脚本&退出弹出窗口
- RequireJ无法随机加载脚本
- 通过浏览器加载页面时触发加载脚本(js或jQuery)'s”;返回“;作用
- 在以前的文件夹中加载脚本
- 如何重新加载脚本标记
- 正在脚本中加载脚本
- 在pjax完成其工作时加载脚本
- I'我用setTimeout加载脚本,你能找到一个更快的方法吗
- 在页面模板上加载脚本
- 如何在我的情况下创建加载脚本
- 当用$.getScript()加载脚本时,有一种方法可以从用$.get script()装载的脚本中调用父脚本中的函数
- 延迟加载 脚本加载和/或执行
- 如何使用谷歌页面速度CSS加载脚本延迟多个CSS文件
- 最后加载脚本
- 如何基于HTML中的类加载脚本
- 在局部视图中加载脚本文件
- 如何防止在使用hapi.js reply().hold()时重新加载脚本
- 异步加载脚本
- 脚本加载脚本广告