从外部html文件运行javascript

时间:2014-03-08 15:44:19

标签: javascript jquery html

我有2个html页面,其中一个使用:

        $.get('alertjquery.html', null, function(tsv) {
            alert(tsv);
        });

从其他网页获取数据。 其他网页包含:

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>    
<script>

    $(document).ready(function() {
    var data = $('#test').text($('section').length);
});

</script>
</head>
    <body>
     <section>
     This should be counted
     </section>
 <section>
 This should be counted
 </section>
 <section>
 This should be counted
 </section>
 <section>
 This should be counted
 </section>
 <section>
 This should be counted
 </section>

  There are currently <b id='test'></b> alerts


</body>

我想获取javascript创建的数据。这可能吗? 如果是这样,我该怎么做呢。 get工作,但是获取静态网页,因此不运行javascript

3 个答案:

答案 0 :(得分:0)

不,这是不可能的。

但是,您可以解析此数据并以其他方式计算段落。

答案 1 :(得分:0)

你能做的就是这个。首先使用AJAX加载第二个HTML,创建一个DOM对象。然后提取脚本标记的innerHTML。您可以在此字符串中将文档更改为nameofdomobject。然后评估它。

SOrry,我不提供代码,但这应该可以帮助你

答案 2 :(得分:0)

您应该在$.get内应用脚本:

$.get('alertjquery.html', function(){
    var data = $('#test').text($('section').length);
    console.log(data)
});

但是,最好使用$.load;

$('.container').load('alertjquery.html', function(){
    var data = $('#test').text($('section').length);
    console.log(data)
})

您可以通过创建功能来简化此过程。