加载js文件之前不执行javascript(异步)

加载js文件之前不执行javascript(异步),javascript,ajax,jquery,Javascript,Ajax,Jquery,我有一个用ajax加载的js代码,但该代码是用户生成的,因此我无法控制代码。例如,用户可以从某处复制粘贴代码 $.post('url', null, function(data, textStatus, xhr) { $('#someID').html(data) }); 回应吼叫 <!-- AddThis Smart Layers BEGIN --> <!-- Go to http://www.addthis.com/get/sm

我有一个用ajax加载的js代码,但该代码是用户生成的,因此我无法控制代码。例如,用户可以从某处复制粘贴代码

   $.post('url', null, function(data, textStatus, xhr) {
         $('#someID').html(data)
   });
回应吼叫

   <!-- AddThis Smart Layers BEGIN -->
    <!-- Go to http://www.addthis.com/get/smart-layers to customize -->
    <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=xa-52cfba37486a2e20"></script>
    <script type="text/javascript">
      addthis.layers({
        'theme' : 'transparent',
        'share' : {
          'position' : 'left',
          'numPreferredServices' : 5
        }   
      });
    </script>
    <!-- AddThis Smart Layers END -->
但是当我使用AJAX.load加载时,我在“addthis”上出现了一个错误,因为脚本在加载addthis_widget.js之前运行

这段代码只是一个示例,所以我正在寻找一个全局解决方案。
您能帮我解决这个问题吗?

AJAX.load方法有一个回调函数,在加载完成时运行

$(document).ready(function(){

$( "#result" ).load( "ajax/test.js", function(data){
//callback
} );

});
或者您可以使用jquerygetscript方法

$.getScript( "ajax/test.js" )
  .done(function( script, textStatus ) {
    console.log( textStatus );
  })
  .fail(function( jqxhr, settings, exception ) {
    $( "div.log" ).text( "Triggered ajaxError handler." );
});

document.ready,它非常简单

用户可以在一个字段中有两个字段,他们可以在第二个字段中粘贴指向.js文件的链接,他们可以编写或粘贴他们的js代码,所以当您首先加载时,您将从第一个字段加载数据,我认为这可能会起作用

$document.readyfunction{;这就是你想要的吗?如果以后要加载脚本,可以使用该.load将函数添加到.loadfunction{};所有这些都发生在document.ready状态之后。这不会有帮助。我不完全清楚你的意思,但也许你可以将它封装在一个函数中,在用户单击按钮后或以某种方式调用该函数?我不仅通过axaj加载htmlin示例脚本,而且在响应中的代码执行之前添加到dom中,然后脚本laodsi不包括js文件,我正在加载可以包含js的html代码。我不包括js文件,我正在加载可以包含js的html代码。我不包括js文件,我正在加载html代码,其中可能包含jsI了解回调,但所有这些代码都是由用户生成并通过ajax附加到dom中的。我不知道名称什么用户粘贴我不知道名称什么用户粘贴我不明白。但是顺便说一句,你可以用我的答案替换上面的默认AddThisJavaScript代码来让它工作。哦,好的。我想我明白了。很抱歉
<!-- AddThis Smart Layers BEGIN -->
<script>
$.getScript('http://s7.addthis.com/js/300/addthis_widget.js#pubid=xa-52cfba37486a2e20', function() {
    // alert('Loaded!');
    addthis.layers({
        'theme': 'transparent',
        'share': {
            'position': 'left',
            'numPreferredServices': 5
        }   
    });
});
</script>
<!-- AddThis Smart Layers END -->