相关疑难解决方法(0)

如何在ajax调用中包含js文件?

我正在调用ajax方法来更新div.它包含需要java脚本文件的链接和函数.但是这些方法和函数没有被正确调用,因为java脚本文件没有通过ajax调用包含在内.例如,我试图调用灯箱功能,但它被重定向到不同的页面而不是灯箱.

在此先感谢Anubhaw Prakash

javascript ajax ruby-on-rails

9
推荐指数
1
解决办法
2万
查看次数

执行通过DOM插入加载的javascript

我正在开发一些将小部件添加到客户网站的东西,我想异步加载我的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)

javascript events dom asynchronous

6
推荐指数
1
解决办法
2236
查看次数

动态加载脚本

我正在我的代码中动态加载一些YUI脚本以响应Ajax请求.在发出请求时,DOM和页面被完全加载 - 这是对用户事件的响应.

作为孩子,我将标签添加到头部.但我偶然发现了一些问题:

我在Yahoo!上添加了两个YUI脚本.CDN和我自己的内联脚本负责创建对象,添加事件侦听器和呈现YUI小部件.但是,当我的脚本运行YUI脚本时,我没有加载但是给我错误而没有按照我的预期运行.

当YUI脚本完全加载时,有一种方法只运行我的脚本(或定义一个要运行的函数)?

html javascript yui javascript-events

5
推荐指数
2
解决办法
2745
查看次数