javascript - 在 ajax 中运行 javascript 外部链接甚至内部链接

标签 javascript jquery ajax eval getscript

在ajax页面中执行javascrpit代码有几种方式? 内部和外部... 我真的需要执行我的脚本,但找不到实现目标的方法 我在循环和 getscript 方法等中尝试了 eval ...但没有结果 有没有真正的方法来执行我的脚本? 我正在使用加载函数加载我的页面,请帮助我
我有 google map 它以通常的方式工作但是当我使用 ajax 加载它时,它不会工作 这是我的代码

$('ul li a').on("click",function() {
    var link = $(this).attr("href") + " #contentx";
    $('#contentx').fadeOut('slow', function(){
        $('#contentx').load(link, function(){     
            $("#mapjs").each(function(i) {
                eval($(this).text());
            });
            $('#contentx').fadeIn('slow');
        });
    });
    return false;
});

最佳答案

您需要将您的 JS block ( <script id="mapjs">...</script> ) 移动到它自己的专用文件中。

如果您使用 $.load带有着陆页片段(即 URL 后跟#id),那么任何脚本标签都将被删除,并且不会被执行。请参阅 $.load documentation 的脚本执行部分.

伪代码——“正确”的方式应该是这样的:

$('ul li a').on("click",function() {
    var link = $(this).attr("href") + " #contentx";
    $('#contentx').fadeOut('slow', function(){
        $('#contentx').load(link, function(){
            if($(this).attr('href') == 'http://wearesevil.com/?page_id=16'){     
                $.getScript('/map.js', function(){
                    $("#mapjs").each(function(i) {
                        eval($(this).text());
                    });
                });
            }
            $('#contentx').fadeIn('slow');
        });
    });
    return false;
});

“hacky”方式?你可以改变你的 <script id="mapjs">成为<div id="mapjs" style="display:none;">...</div> .这不会从 DOM 中删除,您可以使用 eval()在文本上。

关于javascript - 在 ajax 中运行 javascript 外部链接甚至内部链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33497758/

相关文章:

jquery - Rails 3 js block : render a partial with a jquery snippet or render snippet as text?

javascript - jQuery,将成功数据从 AJAX 传递到另一个函数?

当返回 false 时,Javascript AJAX 调用在 Firefox 中失败;

jquery 选中/取消选中复选框

javascript - 如何在 Javascript 中以编程方式制作控制字符?

javascript - Owl Carousel 不工作,也许我链接不正确?

jquery - 从 jQuery 1.4 升级到 1.5 后,发布数据被覆盖

php - 伊伊 1.1.17 : CSRF token validation fails with POST via Angular Controller

javascript - 从用户处获取谷歌地图坐标

javascript - 如何限制添加字段?