这将与我之前的问题(Loading a php file into cross domain page with dynamic element height)大致相同,但现在尝试使用新方法。
我找到了一种将我的脚本加载到本地 ajax div 的方法,但仍然存在跨域安全问题,不允许 xmlhttprequest 调用我的其他服务器。
这里的问题仍然是在站点 A 上,这是我可以完全访问并托管我的脚本文件的 Web 服务器,我可以对脚本做任何我想做的事情并使其工作。在 Enjin 服务器上的站点 B 上,我无权访问主机脚本。我可以将 .js 脚本放在那里并运行它们,但我不能从他们的服务器上使用 php,这会产生我的问题。为了立即解决这个问题,我使用了 iframe,至少可以说效率低下。它无法从它从站点 A 调用的 php 文件生成的内容中加载动态高度。我计划通过 AJAX 将其加载到 div 中来解决这个问题,但我遇到了一些问题。
我的 AJAX 脚本是这样的:
<pre><code>function Ajax(){
var xmlHttp;
try{
xmlHttp=new XMLHttpRequest();// Firefox, Opera 8.0+, Safari
}
catch (e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
}
catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){
alert("No AJAX!?");
return false;
}
}
}
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){
document.getElementById('ReloadThis').innerHTML=xmlHttp.responseText;
setTimeout('Ajax()',10000);
}
}
xmlHttp.open("GET","http://sitea.com/twitch_api/stream_header.php",true);
xmlHttp.send(null);
}
window.onload=function(){
setTimeout('Ajax()',10000);
}
</code></pre>
那么显然 div 正在遵循脚本。
这是调用的脚本是这样的:
抱歉,无法在代码块中正确解析所有代码,但我制作了脚本的 pastebin 副本
我这里的问题变成了。我的脚本需要什么样的外观才能与 easyXDM 一起使用?我没有像这样或 cors 的库的经验,所以一个示例标记会很棒。
我也不是很精通 javascript/ajax,这导致了我的第二个问题。我上面列出了我的 ajax 代码,我将如何让该 div 立即填充所需的文件,然后每 300000 毫秒(5 分钟)更新一次。
任何帮助表示赞赏。在 Enjin 论坛上有一个帖子,但没有太多人有这种深度的经验。