我有2个主机,1个是普通主机,另一个是游戏服务器。我需要在游戏服务器上存在的主机上显示一个页面(如果可用)。我正在运行此代码来更改iframe源,当页面不可用于托管上的另一个页面时。
我面临的问题是,当游戏服务器在线并且iframe获取源时,它仍会更改为其他页面ping2.php,而我希望它保留在游戏服务器页面上。我相信有一个停止缺失,但在脚本方面我是一个巨大的菜鸟。
<script>
function setIframeSrc() {
var PingBoxWindow = document.getElementById('PingBoxWindow');
var iframeLoadTimeout = setTimeout(function() {
window.stop();
}, 4000);
PingBoxWindow.src = "localofflinepage.php";
PingBoxWindow.onload = function() {
clearTimeout(iframeLoadTimeout);
}
}
window.onload = setIframeSrc;
</script>
<div id="block">
<iframe id="PingBoxWindow" name="PingBoxWindow" width="396" height="180" src="somegameserverurl/stats.php" frameborder="0" scrolling="no" scrolling="0"></iframe>
</div>
答案 0 :(得分:0)
问题是你正在改变src,无论iframe加载如何,你需要将两个东西连接在一起,换句话说,如果它发生(你正在做),标记加载成功,但只改变src如果该标志未在超时结束时设置。或者只是改变答案中的一行,即将src更改行移动到超时内部。
<!DOCTYPE html>
<html>
<head>
<title></title>
<script>
function setIframeSrc() {
var PingBoxWindow = document.getElementById('PingBoxWindow');
var iframeLoadTimeout = setTimeout(function() {
window.stop();
PingBoxWindow.src = "http://www.randomwebsite.com/";
}, 4000);
PingBoxWindow.onload = function() {
clearTimeout(iframeLoadTimeout);
}
}
window.onload = setIframeSrc;
</script>
</head>
<body>
<iframe id="PingBoxWindow" src="http://www.theuselessweb.com"></iframe>
</body>
</html>
&#13;