如何在javascript中将变量值传递给src

时间:2014-06-25 22:27:03

标签: javascript

我正在以动态的方式映射某些位置,我将我的代码基于Googlemaps的示例,在此示例中,他们使用外部文件(周)静态映射位置,您可以在其中写入对函数的调用,一个在线初始化和映射函数,如下所示:

function initialize() {
    map = new google.maps.Map(document.getElementById('map_canvas'), {
      zoom: 16,
      center: new google.maps.LatLng(19.43,-99.15),
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });
    var script = document.createElement('script');
    script.src = 'week';
    document.getElementsByTagName('head')[0].appendChild(script);
    }

function eqfeed_callback(results){
    mapping code
}

外部文件的周内容是:

eqfeed_callback({"type":"FeatureCollection","features":[{feature01, feature02,... feature_n}]});

我能够生成dinamically周的功能内容(事实上,整个内容,具有相同的结构),但现在我需要将它传递给初始化函数,现在这是全局的值变量而不是外部文件的内容,我做的是重写initialize作为参数依赖函数,以使其等待生成参数,如下所示:

function initialize(scriptSource){
    map = new google.maps.Map(document.getElementById('map_canvas'), { zoom: 16, center: new google.maps.LatLng(19.43,-99.15), mapTypeId:google.maps.MapTypeId.ROADMAP});
    var script = document.createElement('script');
    script.src = scriptSource;
    document.getElementsByTagName('head')[0].appendChild(script);
}

当调用initialize时,scriptSource将是一个全局变量的值,其值与外部文件的内容完全相同(但现在以dinamically方式生成);我一直试图让它工作,但我认为我传递src的方式有问题,我该如何正确地做到这一点?

1 个答案:

答案 0 :(得分:1)

您似乎尝试将javascript加载到脚本标记中。 而不是设置src成员,而是设置innerHtml

src成员是actually the url,而不是脚本标记的内容。

另外,要对设置src的其他地方感到厌倦。

script.src = 'week';不能用作uri

script.src = 'week.js';将作为uri

工作