2011-11-03 57 views
0

所以我的情况涉及加载第三方脚本使用此代码加载另一个脚本关闭域脚本:如何动态地加载来自同一个域

var newScript = document.createElement('script'); 
newScript.src = 'http://someotherDomain.com/foo.js'; 
newScript.type = 'text/javascript'; 

document.body.appendChild(newScript); 

foo.js包含代码:

document.write (unescape("%3Cscript src='http://someotherDomain.com/bar.js' type='text/javascript'%3E%3C/script%3E")); 

问题是,第一个代码片段将成功执行并拉入foo.js,但在获取foo.js之后,内容不会被执行。我认为在浏览器加载一个新脚本后,它会解析并运行包含代码。如果我在初始页面加载时放入foo.js,但是不会在这之后生效。我错过了什么吗?

+4

'document.write'在页面加载后不起作用...您的第一个代码块显示了如何向页面添加脚本 - 如果可以,只需使用该方法从第一个脚本中加载第二个脚本脚本。 –

+0

啊,这是有道理的。不幸的是,我现在没有能力修改'foo.js'。看起来像加载页面加载我。谢谢! – Chestone

回答

1

森那维达斯在评论中回答:

document.write没有页面加载后的工作......你的第一个代码块显示了如何将脚本添加到网页 - 如果你可以只使用该方法从第一个脚本中加载第二个脚本。