使用jQuery AJAX时转义脚本标记

时间:2014-07-01 13:38:46

标签: javascript jquery ajax

我试图通过以下方式逃避通过AJAX加载的内容的脚本标记:

$.ajax({
    cache: false,
    type: 'GET',
    url: 'index.html',
    success: function(response) {

        $(response).find('<script').replaceWith('\x3Cscript');
        $(response).find('</script>').replaceWith('\x3C/script>');

然而,它给出了TOKEN IS ILLEGAL ...

的错误

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

你应该使用正斜杠来转义/,就像HTML5样板中的这个片段一样:

<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.11.1.min.js"><\/script>')</script>

像这样:

$(response).find('<script').replaceWith(function(){return '<script';});
$(response).find('</script>').replaceWith(function(){return '<\/script>';});

答案 1 :(得分:0)

将整页加载到容器中可以使用.load(),即

完成
$('#iFrame').load('index.html', function() {
    // page loaded into container
    $('#iFrameLoading').fadeOut(function() {
        $('#iFrame').fadeIn();
    });
});