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

如何在javascript中将变量值传递给src,javascript,Javascript,我正在以一种动态的方式映射某些位置,我的代码基于Googlemaps的一个示例,在这个示例中,它们静态地映射位置,使用一个外部文件(week),在该文件中您编写对函数的调用,一个在线初始化和映射函数,如下所示: function initialize() { map = new google.maps.Map(document.getElementById('map_canvas'), { zoom: 16, center: new google.maps.Lat

我正在以一种动态的方式映射某些位置,我的代码基于Googlemaps的一个示例,在这个示例中,它们静态地映射位置,使用一个外部文件(week),在该文件中您编写对函数的调用,一个在线初始化和映射函数,如下所示:

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
}
外部文件week的内容为:

eqfeed_callback({"type":"FeatureCollection","features":[{feature01, feature02,... feature_n}]});
我可以直接生成week的features内容(事实上,整个内容都是相同的结构),但现在我需要将其传递给初始化函数,这是一个全局变量的值,而不是外部文件的内容,我所做的是将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将是一个全局变量的值,其值与外部文件(但现在是以二进制方式生成)的内容完全相同;我一直在努力让它工作,但我认为我通过src的方式存在问题,我如何正确地做到这一点?

看来您试图将javascript加载到脚本标记中。 与其设置
src
成员,不如设置
innerHtml

src
成员不是脚本标记的内容

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

script.src='week'将不能作为uri使用

script.src='week.js'将用作uri