2012-11-11 69 views
0

我想将.js文件应用于通过ajax加载的页面(因为ajax会自动去除所有javascript的内容)。ajax加载后调用.js文件

var url; 
var textUrl = 'local/file.js'; 

$('a').click(function() { 
    url = $(this).attr('href'); 
    $('.secondaryDiv').load(url, function() { 
     $.getScript(textUrl, function(data, textStatus, jqxhr) { 
     console.log(data); //data returned from getScript 
     console.log(textStatus); //return "success" 
     console.log(jqxhr.status); //200 
     }); 
    }); 
return false; 
}); 

我接近这个正确的方式吗?我什么都试过了我能想到的,我不能让它的工作

+0

前两名的答案在[这个问题](http://stackoverflow.com/questions/889967/jquery-load-call-doesnt-execute-javascript-in-loaded-html-file)似乎解决你想要实现的,如果我正在读你的问题。 – Kelvin

+0

浏览器控制台说什么?你能详细说明“不能得到它的工作”吗? – Coby

+0

给我一个403(禁止)的消息 – agassi0430

回答

0

您可以创建一个新的<script>元素和编程设置其属性src在正确的文件指向:

var url; 
var textUrl = 'local/file.js'; 

$(document).ready(function() { 
    $('a').click(function() { 
     url = $(this).attr('href'); 
     $('.secondaryDiv').load(url, function() { 
      var s = $('<script>', { 
       type: 'text/javascript' 
      }); 
      $(this).append(s); 
      s[0].src = textUrl; 
     }); 
     return false; 
    }); 
});​