是否可以将外部javascript引用从SWF注入主机页?

是否可以将外部javascript引用从SWF注入主机页?,javascript,actionscript-3,flash,Javascript,Actionscript 3,Flash,我有一个SWF广告需要调用Facebook API,我需要在主机HTML页面中提供以下单行参考: <script type="text/javascript" src="//connect.facebook.net/en_US/all.js"></script> 因为我正在处理一则广告,所以我无法控制主页。我知道我可以将函数注入页面(这里有一个很好的参考:),但我还没有找到一种方法来添加对外部托管脚本的引用 有人知道这是否可以做到,如果可以,如何做到吗?只需在文档中

我有一个SWF广告需要调用Facebook API,我需要在主机HTML页面中提供以下单行参考:

<script type="text/javascript" src="//connect.facebook.net/en_US/all.js"></script>

因为我正在处理一则广告,所以我无法控制主页。我知道我可以将函数注入页面(这里有一个很好的参考:),但我还没有找到一种方法来添加对外部托管脚本的引用


有人知道这是否可以做到,如果可以,如何做到吗?

只需在文档中动态添加一个脚本标记。您可以通过ExternalInterface运行匿名函数来实现这一点:

var js:Array = [
'var script = document.createElement("SCRIPT")',
'script.src = "http://connect.facebook.net/en_US/all.js"',
'var head = document.getElementsByTagName("HEAD")[0]',
'head.appendChild(script)'
];
ExternalInterface.call('(function(){' + js.join(';') + '})()');

但是如何加载脚本呢?当您将其添加到头部时,DOM已经完成,窗口将完成加载,不是吗?浏览器肯定会加载脚本。DOM永远不会“完成”。这似乎不起作用。例如,ExternalInterface.available返回true,但
ExternalInterface.call(((function(){alert(\'hello\);})()不会导致显示警报,也不会导致错误(未处理或未处理)。有什么问题吗?