我正在调用ajax方法来更新div.它包含需要java脚本文件的链接和函数.但是这些方法和函数没有被正确调用,因为java脚本文件没有通过ajax调用包含在内.例如,我试图调用灯箱功能,但它被重定向到不同的页面而不是灯箱.
在此先感谢Anubhaw Prakash
我正在开发一些将小部件添加到客户网站的东西,我想异步加载我的js,以免阻止客户的页面加载.我一直在阅读很多有关此问题的主题,并且一直在尝试实现此处建议的模式,因为我的项目非常相似:
http://friendlybit.com/js/lazy-loading-asyncronous-javascript
我遇到的问题是我动态加载的javascript文件中的代码没有被执行.很抱歉,如果这似乎是一个重复的问题,但我花了几个小时搜索并尝试稍微不同的技术,我读过很多帖子,包括这些stackoverflow问题:
但是我仍然在努力做这项工作,所以我希望如果我直接问这个问题,有人可以帮助我!
我目前得到以下作为一个非常基本的测试; 很明显,我的真实剧本中还有很多内容,但我只需要了解这里发生的事情(或者事实上,未发生的事情).
所以在我的代码文件"test.js"中,我只需:
run_test = function () {
alert('hello from test');
};
Run Code Online (Sandbox Code Playgroud)
然后在我的页面上:
(function () {
load_test = function () {
var t = document.getElementsByTagName('script')[0];
var s = document.createElement('script');
s.type = 'text/javscript';
s.async = true;
s.src = 'test.js';
s.onload = s.readystatechange = function () {
if (run_test) run_test();
s.onload = null;
s.onreadystatechange = null;
};
t.parentNode.insertBefore(s, t);
};
load_test();
})();
Run Code Online (Sandbox Code Playgroud)
我已经尝试了几种变体 - 我已经尝试删除"s.async = true"只是为了看看它是否有所作为,但事实并非如此.我最初有以下代替"load_test();",正如我在上面提到的第一篇文章中所建议的那样:
window.attachEvent ? window.attachEvent('onload', load_test) : window.addEventListener('load', load_test, false); …Run Code Online (Sandbox Code Playgroud) 我正在我的代码中动态加载一些YUI脚本以响应Ajax请求.在发出请求时,DOM和页面被完全加载 - 这是对用户事件的响应.
作为孩子,我将标签添加到头部.但我偶然发现了一些问题:
我在Yahoo!上添加了两个YUI脚本.CDN和我自己的内联脚本负责创建对象,添加事件侦听器和呈现YUI小部件.但是,当我的脚本运行YUI脚本时,我没有加载但是给我错误而没有按照我的预期运行.
当YUI脚本完全加载时,有一种方法只运行我的脚本(或定义一个要运行的函数)?