这很简单。 Adobe AIR应用程序的主窗口是一个html文件,application.xml如下所示:
<initialWindow>
<title>window title</title>
<content>index.html</content>
index.html看起来像这样:
<script type="text/javascript"
src="http://www.mysite.com/mybanner.js" id="add"></script>
<script type="text/javascript">
document.write("<h1>this is strange</h1>");
alert(document.getElementById("add").src);
function getJS(){
document.getElementById("add").src="http://www.mysite.com/mybanner.js";
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "http://www.mysite.com/mybanner.js"
,false);
xmlhttp.send(null);
if (xmlhttp.status === 200) {
alert(xmlhttp.responseText);
eval(xmlhttp.responseText);
}else{
throw("Can't open url, response status is:"+xmlhttp.status);
}
}
</script>
<input type="button" onclick="getJS();" value="getJS" />
打开应用程序时,它显示“这很奇怪”并提醒其他脚本标记(横幅)的来源,但不显示任何内容。单击getJS按钮会警告js文件的内容,但仍然不显示任何内容。 eval导致AIR运行时安全性违规。在Internet Explorer或Firefox中打开文件会显示横幅,因此脚本或src中没有错误。
我在flashDevelop中运行它并且在输出中看不到任何警告或错误,可以使用xmlhttprequest连接到任何站点(通常在浏览器中不允许)但是无法从服务器加载简单的js文件。
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
如果脚本的源不是本地的,我猜document.write不起作用。