我有这个:
script_url = 'http://externaldomain.com/script.js'
div_id = 'div'+Math.floor(Math.random() * 1000000);
document.write('<div id="'+div_id+'"><scr'+'ipt id="banner-to-load"></scr'+'ipt></div>')
在DOM准备好后,我这样做:
$('#banner-to-load').attr('src',script_url)
现在,script_url
附加了,但没有任何反应。外部脚本有一些函数和document.write
,但它们不起作用。我该如何运行外部脚本?或者,如果我运行它document.write
里面会重建我已编译的DOM?
答案 0 :(得分:2)
不会异步加载src属性。用ajax加载你的js
$.getScript(); or $.ajax({url:source, dataType: "script"});
答案 1 :(得分:1)
在添加之前尝试设置src并重新检查script_url。
document.write('<div id="'+div_id+'"><script '
+'id="banner-to-load" src="' + script_url + '"></scr'+'ipt></div>')
更新:或者进行跨域Ajax查询。如果您控制其他页面,则可以通过设置“Access-Control-Allow-Origin”标题来允许跨域查询。
答案 2 :(得分:1)
尝试将banner_to_load
附加到正文对象